首先,混合编程不是指在同一个文件里写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 版权协议,转载请附上原文出处链接和本声明。