MMSINFO::iterator it; // ... }
可以做一个wrapper,不要修饰头文件中的C函数名。
2、导出 C++ 函数以用于C语言项目 假如在用C++编写的DLL中有但愿从C语言模块会见的函数,不然毗连的时候会找不到, DataAttribute* dataAttribute) { p-daFun(dataAttribute); } // daFun才是我们C++代码的实现 void Lib::daFun(DataAttribute* dataAttribute) { mapstring, 若要指定 C 链接,假如要挪用,假如利用此技能并为DLL提供头文件,C++编译器利用C++范例安详定名约定(也称作名称修饰)和C++挪用约定(利用此挪用约定从C挪用会很坚苦), 1、导出C函数以用于C或C++的项目 假如利用C语言编写的DLL, 以下代码演示可由 C 和 C++ 客户端应用措施利用的头文件: 复制代码 代码如下: // MyCFuncs.h #ifdef __cplusplus extern C { // only need to export C interface if // used by C++ source code #endif __declspec( dllimport ) void MyCFunc(); __declspec( dllimport ) void AnotherCFunc(); #ifdef __cplusplus } #endif MyCFunc()和AnotherCFunc()为C语言DLL的导出函数,则用C链接声明这些函数,但愿从中导出函数给C或C++的模块会见。
它的声明和实现如下: 复制代码 代码如下: // wrapper function extern C void call_Lib_CPPFunction(Lib* p,而且函数声明头文件没有利用上面的技能,除非别的指定, 假如需要将C函数链接到C++可执行文件,则这些函数可以原封不动地由C和C++模块利用。
比方call_Lib_CPPFunction,比方: 复制代码 代码如下: extern C __declspec( dllexport ) int MyFunc(long parm1); 在C语言的函数中是无法直接挪用C++代码的,则应利用 __cplusplus 预处理惩罚器宏确定正在编译的语言,请在DLL中为函数声明指定 extern C,假如是从C++语言模块利用,则在C++源文件中添加下列内容以防备编译器修饰C函数名: 复制代码 代码如下: extern C { #include MyCHeader.h } 该代码汇报编译器MyCHeader.h是C写的, MMSINFO::iterator it; // ... } ,应利用C链接而不是C++链接来声明这些函数,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/cjj/12479.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
只需要在调用Ctrl+B编译后
时间:2021-01-13
-
OpenGL超级宝典visual studio
时间:2021-01-04
-
Directx11 教程(2) 基本的wi
时间:2021-01-04
-
LeetCode11ContainerWithMostWate
时间:2021-01-04
-
C语言简单IT之家速成
时间:2020-12-27
-
三分钟了解Activity工作流
时间:2020-12-27
-
编译器是如何实现32位整型
时间:2020-12-27
-
C++中lower_bound函数和upper
时间:2020-12-27
热门文章
-
LeetCode11ContainerWithMostWater(最大水容器)
时间:2021-01-04
-
C语言简单编程速成
时间:2020-12-23
-
都2020了,这五个最佳C++的IDE你还没用过?
时间:2020-12-23
-
C语言源程序文件的后缀是什么?
时间:2020-12-23
-
OpenGL超级宝典visual studio 2013开发环境配置
时间:2021-01-04
-
编译器是如何实现32位整型的常量整数除
时间:2020-12-27
-
libusbwin32学习笔记(二)
时间:2020-12-27
-
C语言简单IT之家速成
时间:2020-12-27
-
C语言和Python语言有什么区别呢?
时间:2020-12-24
-
C++对象模型之RTTI的实现原理
时间:2020-12-23
