我有一个头文件和一个使用 C++ 创建的 .lib 文件。
现在我想在 C# 程序中使用它。这可能吗?
我有一个头文件和一个使用 C++ 创建的 .lib 文件。
现在我想在 C# 程序中使用它。这可能吗?
您可以创建托管包装器,请参阅此处的分步说明:
没有传统的链接器可以让您导入库。最好的办法是编译成 COM 库并使用互操作来使用它。
不是直接的。您可以通过 P/Invoke 或使用 C++/CLI 的混合模式程序集与非托管 DLL 进行互操作。无论哪种方式,您都必须创建一个包装器项目,或者将原始 .lib(如果您有源代码)重新编译为 DLL。
我不知道 .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