C#调用C++的坑分析

技术C#调用C++的坑分析这篇文章主要介绍“C#调用C++的坑分析”,在日常操作中,相信很多人在C#调用C++的坑分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#调用C++的坑分析”

本文主要介绍“C#调用C的坑分析”。在日常操作中,相信很多人对C#调用C的坑分析有疑惑,边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮你解答“C#调用C的坑分析”的疑惑!接下来,请和边肖一起学习!

一般来说,C#调用C产生的dll如下:

c的项目应该设置为‘导出dll的项目’,导出的函数一般为:

extern ' c ' _ _ declspec(dllexport)intConvrnx(int format,rnxopt_topt,char*file,char * * ofile){ 0.}

制作一个C dll后,放在C#的生成目录中,也就是和放在一起。exe

和C#,以:

[DllImport('RtklibHelper.dll ',EntryPoint='Convrnx ',calling conventi on=calling conventi on。cdecl)])publicationstatexternintconvernx(int format,rnxopt_topt,stringfile,string[]of file){ 0.}

pit 1:C #的类型如何对应C的类型(比如字符串对应*char,字符串[]对应char**)

解决方案1:有一个神奇的工具叫CLRInsideOut,是微软写的:

C#调用C++的坑分析

比如C中的结构rnxopt_t,其中嵌套了结构snrmask_t,只需要用txt从上到下进行排序(C的语句写前写后都很特别),右边直接是C#代码;

坑2:在这台机器C#里调用C一切都好,只有放到另一台机器里:指定的模块找不到。(异常来自HRESULT:0x8007007E),各种搜索尝试(包括尝试安装Vs c环境)都无法奏效。

程序员直觉:肯定是C产生的dll,调用系统dll,其他电脑可能没有。

想法:找出这个dll调用了什么。

解决方案2:再次使用微软工具:

C#调用C++的坑分析

C#调用C++的坑分析

是的,这些是dll;

程序员直觉:这个东西肯定在c: \窗口。经过搜索,我发现:WINMM.dll有两个文件夹。是哪一个?

解决方法:搜索其他电脑,如果找不到就复制。

找出所有:

C#调用C++的坑分析

然后将其放在与exe相同的目录中;(根据C dll的自定义,动态库总是在当前目录和系统目录中找到,不需要一一放入目标计算机的对应文件夹中。)

至此,“C#调用C的坑分析”的学习结束,希望能解决大家的疑惑。理论和实践的结合可以帮助你学得更好。去试试吧!如果你想继续学习更多的相关知识,请继续关注网站,边肖会继续努力,给大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/127477.html

(0)

相关推荐

  • 分析SQL优化的limit分页延迟关联

    技术分析SQL优化的limit分页延迟关联这篇文章主要介绍“分析SQL优化的limit分页延迟关联”,在日常操作中,相信很多人在分析SQL优化的limit分页延迟关联问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操

    攻略 2021年11月5日
  • 药剂师是什么,药士和药剂师有什么区别啊

    技术药剂师是什么,药士和药剂师有什么区别啊两者之间没有区别药剂师是什么。 药士即药剂师或药师,是负责提供药物知识及药事服务的专业人员。药剂师负责监察医生所处方的数种药物中有否出现药物相互作用。药剂师的主要职责如下:
    1

    生活 2021年11月1日
  • Tomcat9如何实现请求处理

    技术Tomcat9如何实现请求处理这篇文章给大家分享的是有关Tomcat9如何实现请求处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。请求处理Tomcat对于HTTP请求,会由Connect

    攻略 2021年12月11日
  • 笔记本电脑啥牌子好,什么牌子笔记本电脑好用又实惠

    技术笔记本电脑啥牌子好,什么牌子笔记本电脑好用又实惠1笔记本电脑啥牌子好,笔记本电脑购买渠道(重要) 选购笔记本电脑对于纯小白来讲最好的地方是网上,如京东 淘宝 各个品牌的官网 苏宁易购等网上正规渠道购买。纯小白不用担心

    生活 2021年10月30日
  • 黄骨鱼的做法,湘菜特色菜干锅黄骨鱼怎么做

    技术黄骨鱼的做法,湘菜特色菜干锅黄骨鱼怎么做主料黄骨鱼的做法:黄骨鱼500克 调料:食盐少许、酱油少许、葱少许、蒜少许、干辣椒少许、生抽少许、香菜少许、植物油适量。 干锅黄骨鱼的做法:
    1.新鲜的黄骨鱼处理干净后,用少

    生活 2021年10月27日
  • ios sdk开发需要掌握什么(ios你在项目开发中遇到的难点)

    技术IOS开发之Target-Action模式有什么用小编给大家分享一下IOS开发之Target-Action模式有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 该模式主要是为了减少模块之

    攻略 2021年12月24日