在C++ 程序中调用被 C 编译器编译后的函数,为什么要加 extern “C”?
2014-05-17 14:37
525 查看
答:
C++语言支持函数重载,C 语言不支持函数重载。函数被C++编译后在库中的名字与C 语言的不同。
假设某个函数的原型为: void foo(int x, int y);该函数被C 编译器编译后在库中的名字为_foo , 而C++编译器则会产生像_foo_int_int 之类的名字。
C++提供了C 连接交换指定符号extern“C”来解决名字匹配问题。
C++语言支持函数重载,C 语言不支持函数重载。函数被C++编译后在库中的名字与C 语言的不同。
假设某个函数的原型为: void foo(int x, int y);该函数被C 编译器编译后在库中的名字为_foo , 而C++编译器则会产生像_foo_int_int 之类的名字。
C++提供了C 连接交换指定符号extern“C”来解决名字匹配问题。
相关文章推荐
- 在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
- 在C++ 程序中调用被C编译器编译后的函数,为什么要加extern “C”?
- 在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?
- 经典面试题目--在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
- 在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?
- 在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
- 在C++ 程序中调用被 C 编译器编译后的函数,为什么要加 extern
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?----转
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”
- 在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”?
- 在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?
- 转载--在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?