C#如何调用C++的函数 用C++写了一个类用于客户端和服务器端之间数据的发送和接收,用C#怎么调用类里的函数,我是新手,学C#才几天,麻烦说详细点,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是几句话能说清的...自己去看MSDN...使用非托管 DLL 函数 在C#里面引用C++里面生成的dll文件 是的必须使用它的dll,就像C,C++ 写的kernel32.dll,user32.dll 一样 在C#里面引用加载C++里面生成的动态链接库dll文件 如:【DllImport (kernel32.dll)】 [DllImport("Kernel32")]public static extern int GetProcAddress(int handle, String funcname); //导入public static Delegate GetFunctionAddress(int dllModule, string functionName, Type t) { int address = GetProcAddress(dllModule, functionName); //引用 if (address == 0) return null; else return Marshal.GetDelegateForFunctionPointer(new IntPtr(address), t); }注意类型对应,包括导入的时候必须和DLL里面的函数名,参数类型返回值保持一致 当然你可以引用,但是有的时候是不能引用某些DLL的,只要把dll和cs文件放在一个目录下就可以,这也是为什么很多软件安装后,在exe文件目录里有DLL文件 这个讲究比较多,你搜下怎么样调用非托管代码。。dll文件该放哪,参数类型对应等等 在winform中Form1.Hide():实现不了 未将对象引用到对象实例中 新手,Adapter为什么没有update方法? 紧急求助,关于正则表达式的一个问题 请问visual studio 2008 c# 类视图在哪里调用出来显示啊? 如何获取form流的值? TextBox输入问题 根据IP获得机器名 如何用按钮控制暂停和继续? 制作安装程序(连接数据库) XML的问题! Quoted-Printable解码后为何还是乱码
如:【DllImport (kernel32.dll)】
public static extern int GetProcAddress(int handle, String funcname); //导入
public static Delegate GetFunctionAddress(int dllModule, string functionName, Type t)
{
int address = GetProcAddress(dllModule, functionName); //引用
if (address == 0)
return null;
else
return Marshal.GetDelegateForFunctionPointer(new IntPtr(address), t);
}注意类型对应,包括导入的时候必须和DLL里面的函数名,参数类型返回值保持一致
dll文件该放哪,参数类型对应等等