您的位置:首页 > 其它

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++头文件

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: