您的位置:首页 > 编程语言 > C语言/C++

Why? 在C++中调用被C编译后的函数,要在声明的前面加extern "C"

2016-05-28 16:09 183 查看
在C++程序中调用被C编译器编译后的函数,为什么要在声明的前面加extern "C"?
答:c语言不支持重载,C++支持重载
为了告诉编译器这个函数是C的编译风格,所以在找这个函数的时候也要按照C的风格去找
比如:在C++中写一个add函数
int add(int n1, int n2)
它找到的是?add@@YAHHH@Z
?函数名@@YA参数参数返回值@Z
H代表int M代表float
@@YA表示开始 @Z表示结束
在C语言中写一个add函数
int add(int n1, int n2)
它找到的是_add
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: