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)

相关推荐

  • 大柴旦海拔是多少米,大柴旦有什么好玩的地方

    技术大柴旦海拔是多少米,大柴旦有什么好玩的地方您好,我是西北旅游包车姜师傅,水上雅丹距离大柴旦单程240公里,而大柴旦距离青海省的省会西宁市700公里,距离甘肃敦煌市是320公里,从西宁出发一天的时间是赶不到大柴旦的,因

    生活 2021年10月25日
  • 标准访问控制列表配置实验

    技术标准访问控制列表配置实验 标准访问控制列表配置实验标准访问控制列表配置实验
    一、实验要求
    两台交换机,四台PC
    二、关键点标准访问控制列表要应用在靠近目标端原因是访问控制列表仅对穿越路由器的数据包进

    礼包 2021年12月10日
  • 千什么万什么的成语,千什么万什么的四字成语

    技术千什么万什么的成语,千什么万什么的四字成语千军万马千什么万什么的成语、千言万语、千丝万缕、千山万水、千变万化、千头万绪、 千真万确、千刀万剐、千呼万唤、千辛万苦、千秋万代、千岩万壑、 千山万壑、千家万户、千沟万壑、千

    生活 2021年10月28日
  • debug D命令如何查看指定地址及其之后的128字节的内容

    技术debug D命令如何查看指定地址及其之后的128字节的内容debug D命令如何查看指定地址及其之后的128字节的内容,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到

    攻略 2021年11月11日
  • 仔细近义词,仔细的近义词是什么仔细的近义词

    技术仔细近义词,仔细的近义词是什么仔细的近义词“仔细”的近义词仔细近义词:细心、谨慎、周密、注意、认真一、细心[ xì xīn ]用心细密:~人。~照料。造句:1. 财会工作要特别细心,以免出现差错。2. 在妈妈的细心照

    生活 2021年10月20日
  • springboot 发送邮件模板(springboot集成实现邮件发送功能)

    技术springboot如何整合邮件发送功能这篇文章给大家介绍springboot如何整合邮件发送功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 pom依赖

    攻略 2021年12月23日