extern "C"什么意思
2016-03-17 22:19
239 查看
缘由
C语言不支持函数重载,编译之后的函数名依然是原函数名。在c++中,支持了函数重载,重载之后的函数名 为 原函数名+参数名。比如函数 bool max(int a, int b),编译之后,c中为 max, 而c++中函数名变成了 max_int_int。使用
c++头文件中调用c语言代码
c语言不支持 extern "C", 要让其他语言按c格式编译,必须在c++头文件中调用c语言,使用extern "c"申明。extern “C” 告诉 编译器, 按C语言的格式编译和链接
// a.h #ifndef A_H #define A_H extern "C" int max(int a, int b); #endif
以上代码, A模块调用其他模块的max函数, 如果不使用extern "C"申明, 会按C++语法编译, 系统会调用 max_int_int函数
c语言引用c++头文件
相关文章推荐
- C++ explicit关键字
- Java---软件试用次数(Properties类的简单使用)
- Java---软件试用次数(Properties类的简单使用)
- 复利计算之回顾并总结这三次实验
- Linux内核分析——第四周学习笔记20135308
- Android 进程常驻(5)----开机广播的简单守护以及总结
- Java CopyOnWriteArrayList 源码分析
- 【PHP】microtime 与 time 函数介绍
- 《python计算机视觉编程》读书笔记------1
- POJ3069左右点贪心 贪心
- 复利计算3.0
- 0317 实验三总结与分析
- 使用ivy管理项目需要的jar包
- 基于SuperSocket 1.6版本的自定义帧过滤的源码分析
- HDU-5636(Shortest Path)(floyd最短路径)
- 为什么Linux下必须有 根 和swap分区
- Android 内核 - 03 创建应用窗口 和 子窗口
- iOS开发网络篇—监测网络状态
- hdu1004 Let the Balloon Rise && hdu1263 水果(map)
- NSURLConnection获取一个MP3文件