关于 _cplusplus 的一些说明
来源:互联网 发布:中国人的劣根性知乎 编辑:程序博客网 时间:2024/05/09 08:10
编译器在编译过程会对一些函数,变量重命名:加上一些字符和符号。这种重命名的过程在编译器内部是可逆的,错误提示的代码为逆过程,即恢复命名。
因为存在这种重命名的过程,c++ 函数在提供给 c 函数使用的过程会出现一些问题。例如找不到相应的函数,未实现函数。
一些解决办法: _cplusplus
_cplusplus 标识c++编译器
#ifdef __cplusplus
Extern“C”
//声明定义的函数在编译的过程中不会被修改函数名称。
#endif
使用方法
1,在头文件里边使用
#ifdef __cplusplus
Extern“C”{
Int functions(void *);
}
2,在调用头文件的时候使用
#ifdef __cplusplus
Extern“C”{
#include“head.h”
}
#endif
更赞同方法1.理由:文件的使用不依赖外部设计实现。
具体很明显的使用区别尚未体会。欢迎补充。
0 0
- 关于 _cplusplus 的一些说明
- ifdef _cplusplus extern "c"的说明
- #ifdef _cplusplus的问题
- _cplusplus的使用
- 关于smarty3的一些说明
- 关于smarty3的一些说明
- 关于WirelessKey的一些说明
- 关于Mplayer的一些说明
- 关于宏的一些说明
- 关于adaboost的一些说明
- 关于就业的一些说明
- 关于adaboost的一些说明
- 关于ARC的一些说明
- 关于RotateRect的一些说明
- 关于tcp的prequeue的一些说明
- 关于MEF的一些简单的说明
- InstallAnyWhere中关于ruler的一些说明
- 10018.关于JTAG的一些说明(转)
- maven学习笔记--常用插件(plugins)和目标(goals)
- c#获取客户端信息的方法
- ceph中radosgw类图
- codevs 2594 解药还是毒药(状态压缩BFS)
- MySQL中select * for update锁表的范围
- 关于 _cplusplus 的一些说明
- 画线(可以是虚线)
- 程序员最爱的五款专业辅助编程工具
- Adb大全|应用管理
- Leetcode011--电话号码上的单词组合
- const与#define的区别
- Twitter-Snowflake,64位自增ID算法详解
- MySQL 分区的使用总结
- mybatis中#{}和${}的区别和问题