我正在做一个项目,该项目结合了一个用C编写的非常大的开源项目(OSP),并试图用C#构建前端。我目前正在用Visual Studio 2012学习版编译OSP,并从该项目中生成所有.exe、.dll等。
我应该如何执行集成(请记住,我可以完全访问.h/.c文件)我尝试使用IJW(It Just Works)方法,但它似乎不允许我导入新编译的.dll的引用。除此之外,我不知道如何执行c#中的各种函数(除了向.exe发送命令行命令,我不希望这样做…)
我需要用IJW的特殊选项/参数编译OSP吗?还是需要重写代码?
对于用C编写的DLL,您需要用C#编写等效声明,而不是添加对该DLL的引用。
这被称为PInvoke。
class ABC
{
[DllImport("abc.dll")]
public static extern int FuncX(int x, int y);
}