C/C++

推荐列表 站点导航

当前位置:首页 > 脚本编程 > C/C++ >

MMSINFO::iterator it; // ... }

来源:网络  作者:网友投稿  发布时间:2021-01-13 02:50
这篇文章主要先容了C与C++之间彼此挪用的实例要领,各人参考利用吧...

可以做一个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

最新文章
只需要在调用Ctrl+B编译后 只需要在调用Ctrl+B编译后

时间:2021-01-13

OpenGL超级宝典visual studio OpenGL超级宝典visual studio

时间:2021-01-04

Directx11 教程(2) 基本的wi Directx11 教程(2) 基本的wi

时间:2021-01-04

LeetCode11ContainerWithMostWate LeetCode11ContainerWithMostWate

时间:2021-01-04

C语言简单IT之家速成 C语言简单IT之家速成

时间:2020-12-27

三分钟了解Activity工作流 三分钟了解Activity工作流

时间:2020-12-27

编译器是如何实现32位整型 编译器是如何实现32位整型

时间:2020-12-27

C++中lower_bound函数和upper C++中lower_bound函数和upper

时间:2020-12-27

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

MMSINFO::iterator it; // ... }

2021-01-13 编辑:网友投稿

可以做一个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

相关文章

风云图片

推荐阅读

返回C/C++频道首页