我可以导入.lib扩展名的静态C库。
我有头文件:extern" C" __declspec(dllexport)的
我可以从头文件源代码中使用P / Invoke助手生成必要的代码,但问题仍然存在,
[DllImport()]可以处理已编译的C / C ++ lib文件吗?
答案 0 :(得分:3)
DllImport
通过引用模块(.DLL)导出表中定义的条目来工作。 .LIB文件不是模块,也没有根据.DLLs的导出表。
来自MSDN:
DllImportAttribute属性提供调用从非托管DLL导出的函数所需的信息。作为最低要求,您必须提供包含入口点的DLL的名称。 - Tell me more
你的问题:
可以[DllImport()]处理静态c库吗?
没有
但是你可以随时将.LIB链接到.DLL(假设你知道c / c ++)并且p调用生成的DLL,但这是一个间接解决方案,并不暗示“是”对你的问题。