日期:2014-05-17  浏览次数:21036 次

如何在C#中调用C程序
1.我用C#调用一个C程序,是不是直接将C程序生成的dll文件复制到bin文件夹下就可以了?
2.将C#中的值传给dll中的一个变量,如何赋值?

------解决方案--------------------
把函数的声明、定义和调用分清楚。

[dllimport(...)]
public static extern int 方法b(int 参数);
这个是声明
因为函数是在dll中实现的,所以不需要定义。

调用
int result = 方法b(a); //这里的a是实参

在C语言的dll中:
int 方法b(int c) //这里的c是形参
{
...
}

另外5l说的是托管的dll,这里说的是非托管的dll。
------解决方案--------------------
探讨

把函数的声明、定义和调用分清楚。

[dllimport(...)]
public static extern int 方法b(int 参数);
这个是声明
因为函数是在dll中实现的,所以不需要定义。

调用
int result = 方法b(a); //这里的a是实参

在C语言的dll中:
int 方法b(int c) //这里的c是形参
{
...
}……