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)

相关推荐

  • 小2寸照片尺寸是多少,二寸登记照片的尺寸是多少

    技术小2寸照片尺寸是多少,二寸登记照片的尺寸是多少二寸照片尺寸是小2寸照片尺寸是多少:3.5*5.3cm。 其他照片尺寸: 1、小2寸(护照)照片尺寸是: 3.3*4.8cm 390*567像素。 2、小2寸 (普通)照

    生活 2021年10月20日
  • ASP.NET Core MVC 模型绑定用法及原理

    技术ASP.NET Core MVC 模型绑定用法及原理 ASP.NET Core MVC 模型绑定用法及原理https://www.cnblogs.com/savorboard/p/aspnetcor

    礼包 2021年11月10日
  • Python代码然后实现列表分组计数

    技术Python代码然后实现列表分组计数本篇文章给大家分享的是有关Python代码然后实现列表分组计数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. c

    攻略 2021年11月11日
  • 同性恋的原因,同性恋和父母的基因有关系吗

    技术同性恋的原因,同性恋和父母的基因有关系吗引起同性恋的原因同性恋的原因,至今没有肯定的说法,一般认为同性恋和以下因素有关:
    一,遗传因素:即生物学因素,有人发现同性恋者,在同卵双生子中远比异卵双生子中多见。
    二,儿童角

    生活 2021年10月30日
  • Nginx 项目部署

    技术Nginx 项目部署 Nginx 项目部署1. Window 本地部署
    1.1 下载安装官方地址https://nginx.org/其中包含很多nginx版本,大致可以分为:Mainline ver

    礼包 2021年10月28日
  • MySQL 5.7的分布式事务支持举例分析

    技术MySQL 5.7的分布式事务支持举例分析本篇内容主要讲解“MySQL 5.7的分布式事务支持举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL 5.7的分

    攻略 2021年11月19日