项目中,需要c++实现与硬件的通信,显示使用c#进行。查询了相关资料,可以使用托管c++建立c#与c++之间的联系。基本框架如下
托管c++项目的创建请参考
注意,如果直接创建c++的dll库,要注释掉dllmain.cpp文件,不然会报错,或者创建MFC的dll。我调试了好久,血的教训!!!
https://blog.csdn.net/m0_37251750/article/details/81280016
它介绍了创建托管c++DLL的步骤。只需要看第一种方法即可
同时,在托管c++DLL与原生c++DLL之间,要实现相互引用,参考博文
https://www.cnblogs.com/marblemm/p/7804056.html 中的DLL的隐式调用部分
注意,文中提到的
#prama comment(lib, "myDll.lib") 这里要根据自己生成的DLL路径进行更改,如
#prama comment(lib, "../myDll.lib") 或者#prama comment(lib, ".../Project/Debug/myDll.lib")
为了每次编译不要总是复制dll文件,参考https://www.cnblogs.com/renyuan/p/3970248.html,