我必须在c#中使用c++动态链接库,并且必须在我的c#程序中导入在c++动态链接库中定义的函数:
void rtdGetSkillsetListResult(bool success, const std::list <skillset_info> skillsetList)如何在c#中“翻译”
const std::list <skillset_info>其中skillset_info在c++ dll中定义为以下结构:
struct skillset_info
{
std::string code;
bool standby;
};非常感谢!
发布于 2013-04-04 19:01:48
托管C#代码不能像std::list那样使用非托管C++对象。因此,不能直接从C#使用非托管DLL。
最简单的解决方案是创建一个C++/CLI层,它可以从未管理到托管。
另一种选择是调整未修改的代码,以便可以使用p/invoke调用它,但我认为这会比C++/CLI涉及更多的工作。
https://stackoverflow.com/questions/15809205
复制相似问题