C/C++编译区别

2021-08-28  本文已影响0人  blue_lights

为了支持函数的重载,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"来区分代码块、

上一篇 下一篇

猜你喜欢

热点阅读