为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。
extern "C" {
C代码
}
被extern "C"修饰的变量和函数是按照C语言方式编译和连接的。
作为一种面向对象的语言,C++支持函数重载,而过程式语言C则不支持。函数被C++编译后在符号库中的名字与C语言的不同
C++函数重载
void foo(int x, int y); -->编译结果:_foo_int_int
void foo(int x, float y);-->编译结果:_foo_int_float
C没有重载
void foo(int x, int y); -->编译结果:_foo
所以在C/C++混合编程的时候要记得添加 extern "C"来区分代码块、
网友评论