基于C#实现的一些算法,需要分享给其他人用C++调用。
目录
(1)C++(CLR)直接调用(5)生成的CS的dll,样例1
(2)C++(CLR)直接调用(5)生成的CS的dll,样例2
(3)在(5)生成的CS的dll基础上,采用CLR类库(.Net Framework)再封装一层,生成C++版的dll
(4)基于C++,新建普通控制台程序,测试(3)生成的C++版的dll
共5个项目,编号依次是(1)、(2)、(3)、(4)、(5)
(1)C++(CLR)直接调用(5)生成的CS的dll,样例1
新建普通C++控制台程序,修改项目属性。
(2)C++(CLR)直接调用(5)生成的CS的dll,样例2
(3)在(5)生成的CS的dll基础上,采用CLR类库(.Net Framework)再封装一层,生成C++版的dll
属性--C/C++--预处理器--预处理器定义-添加ITSYBASE_EXPORTS及WIN32,如下:
(4)基于C++,新建普通控制台程序,测试(3)生成的C++版的dll
.h和.lib文件也可以按如下添加:
如果发现CppLibInvokeCsLib_Test项目生成后不能调试,则先在代码里添加暂停,然后生成,在本地直接启动CppLibInvokeCsLib_Test.exe,进入控制台界面。操作【调试】-【附加到进程】,然后在控制台里回测下一步,即可进入CppLibInvokeCsLib及YHTransformCSLib断点调试。
(5)CS源码编译的dll,新建C#普通类库
比较基础,略。
完。
以下是其他博主的一些参考资料,一并致谢。
[C++与C#应用:C++调用C#DLL--含代码](https://blog.youkuaiyun.com/DATA_3/article/details/125626342)
添加引用目录
$(SolutionDir)ClassLibrary1\bin\Debug\
调试信息格式选择:无
公共语言运行时支持选择/clr
[c++调用c#写的DLL](https://www.cnblogs.com/gwwdq/p/9252922.html)
C#中参数含ref
(442条消息) C++调用C#的DLL实现方法_成魔的羔羊的博客-优快云博客_c++调用c#dll文件 https://blog.youkuaiyun.com/qq_35040828/article/details/78343161?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-1-78343161-blog-111085673.pc_relevant_vip_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-1-78343161-blog-111085673.pc_relevant_vip_default&utm_relevant_index=2
(442条消息) c++ 调用C# 的DLL_明年十八岁的博客-优快云博客_c++调用c#dll文件 https://blog.youkuaiyun.com/defaultbyzt/article/details/123592872?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-2-123592872-blog-78343161.pc_relevant_vip_default&spm=1001.2101.3001.4242.2&utm_relevant_index=5
(442条消息) c++ 调用c#dll (2种方式,步骤与示例)_sbodakes的博客-优快云博客_c++调用c#dll https://blog.youkuaiyun.com/sbodakes/article/details/120500989
(442条消息) C++调用C#DLL简单示例_浅蓝浅蓝777的博客-优快云博客 https://blog.youkuaiyun.com/weixin_43500985/article/details/89092947
(442条消息) C++调用C#库(DLL)_咚咚o_O的博客-优快云博客_c++调用c# String^ https://blog.youkuaiyun.com/wanormi/article/details/85319271?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-7-85319271-null-null.pc_agg_new_rank&utm_term=c%2B%2B%E8%B0%83%E7%94%A8c%23dll%E5%8F%98%E9%87%8F&spm=1000.2123.3001.4430