linux下C与C++混合编程

  • Post author:
  • Post category:linux


首先,混合编程不是指在同一个文件里写C与C++。 比如说想在同意文件里同时 弱类型检查,又强类型检查,那真够呛。

混合编程包括:1,C++引用C的头文件;2,g++生成的.o与gcc生成的.o相链接。

1,在用C语言写的头文件中,经常加上如下 保护宏定义:

2,关于extern “C”

当c++引用c的函数,结构体定义等时,要声明extern “C”  从某种意义上,这倒是像是在C++文件里写C的一种方法。事实上,由于c++会将函数标示符进行修饰后使用,而C不会,所以用C++编译的fun有可能是fun_int,这样在链接时会出现问题。使用extern “C”来解决这一问题,但带来的影响是不能重载了。

总之,extern “C”即叫编译器按照C的方式去处理。

3,具体编译命令 g++ 与 gcc

实例1:

//test.c

int fun



版权声明:本文为dobest9014原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。