C#中如何调用C程序

我用C#调用一个C程序,是不是直接将C程序生成的dll文件复制到bin文件夹下就可以了?如果想调用一个变量,需要注意什么?将C#中的值传给dll中的一个变量,需不需要知道这个变量所在的方法名?

第1个回答  2012-10-16
c语言写好的Dll。

然后你用c#程序加载这个dll近程序就行了啊。(加载dll应该会吧 ,我就不多说了。 不会的话百度一下就知道了)

如果你想给里面的变量赋值,这个有点怪, 一般是调用里面的函数, 调用函数的时候给参数赋值就OK了, 程序的耦合性别太高哦
第2个回答  2012-10-15
前段时间调用过dll,就是先声明dll里的方法,指定dll所在的地方,然后就可以调用dll里面的方法了追问

假设C的生成的DLL叫1.dll,其中有个方法叫2,那么是不是应该是这样写
[DllImport("1.dll")]
public static extern int 2是这样吗?
那DLL中的变量怎么赋值?

追答

//获取终端信息
[DllImport(".\\wcomm_dll.dll")]
public static extern int get_user_at(uint index, ref GPRS_USER_INFO infoPtr);

//定义一些SOCKET API函数
[DllImport("Ws2_32.dll")]
private static extern Int32 inet_addr(string ip);

调用就直接调用方法就好了

本回答被提问者采纳
相似回答