别人用c语言,c++写的涵数,我要用c#调用,请问,怎么做谢谢
给个思路!!!!!

解决方案 »

  1.   

    他编译成dll了,你添加引用, 找到接口. 用.一般是这样,除非一些经过特殊处理的.
      

  2.   

    先把用c语言,c++写的涵数编译成dll,然后用regsvr32.exe注册这个dll,再添加这个dll的引用,就可以用C#调用它了,调用的格式:
    using System.Runtime.InteropServices;[DllImport("XXX.DLL",EntryPoint="GetApiFunction",SetLastError=true)]
    public static extern int GetApiFunction(
        string strParaA,
        StringBuilder strParaB,
        int intParaC,
        out int intParaD,
        bool blnParaE);C++数据类型和C#的部分对应关系:C++           输入输出    C# 
    ==================================
    char chr[255]   O    StringBuilder
    KCA_DIR         I    int
    LPCSTR          I    string
    int             I    int
    LPSTR           O    StringBuilder
    int*            O    out int
    DWORD           I    int
    DWORD*          O    out int
    BOOL            I    bool
    Rc_DBMgr        I    IntPtr
    long*           O    out long
      

  3.   

    完全可以呀~~这不就是.net里CLR的最大优点吗首先你一定要知道是否与CLS兼容引用方法是把C++文件编译成DLL,然后在C#文件中添加DLL,一切OK
      

  4.   

    要么用DLL
    要么,直接把代码改写为C#
    如果有源码,推荐后者
      

  5.   

    方法1:使用.Net FrameWork 提供的实用工具“类型导入程序 ”Tlbimp.exe创建一个程序集,并使用SN.exe用一个强名称给他命名 放人GAC,然后笔直引用就行方法2: 笔直添加DLL区别在于IDE以及看你是不是想多个程序同时使用,是的话第一种比较好。不是的话第二种也行。