我有一个头文件和一个使用C ++创建的.lib文件。
现在我想在C#程序中使用它。这可能吗?
答案 0 :(得分:8)
您可以创建托管包装,请参阅此处的分步说明:
答案 1 :(得分:1)
我不知道.lib文件。但我知道如果您将代码编译为DLL,则可以将其作为非托管代码使用。
为此,您需要参考
System.Runtime.InteropServices
您将需要定义要使用的方法并为其指定DllImport属性。像这样:
[DllImport("MyCPPDll.dll")]
public void SomeMethod(int someParameter);
以下是一些有助于指明正确方向的链接:
http://msdn.microsoft.com/en-us/library/26thfadc(v=vs.100).aspx
答案 2 :(得分:0)
没有传统的链接器允许您导入lib。最好的办法是编译到COM库并使用互操作来使用它。
答案 3 :(得分:0)
不直接。您可以通过P / Invoke或使用C ++ / CLI的混合模式程序集与非托管DLL进行互操作。无论哪种方式,您都必须创建一个包装器项目,或者将原始.lib(如果您有源代码)重新编译为DLL。