.C文件和.CPP文件的区别

       .C和.CPP还是有一定区别的,在一次上机中让我深深的体会到了。

       C++实现               源代码的扩展名
       UNIX                                C、cc、cxx、c
      GNU C++                         C、cc、cxx、cpp、c++
      Borland C++                    Cpp
      Microsoft Visual C++       cpp、cxx、cc

 

在编译源文件时,C编译器和C++编译器都会对符号(函数或变量)名作某些修正,但两者采用的修正方法不同,所以两者生成的目标文件不能互相链接。在C++中使用extern "C"可以让C++符号获得C链接特性。由于C++编译器会自动定义__cplusplus宏,所以在C语言头文件中采用这种结构可以保证无论使用何种编译器,生成的目标文件都具有C链接特性,能够与标准C编译器所生成的目标文件相链接。

通常c/c++编译器会根据文件后缀来选择符号修正,所以最好把c的代码放到.c文件中,把c++的代码放到.cpp文件中。

另外,网上找的一篇不错的博客:http://www.linuxdiyf.com/bbs/viewthread.php?tid=109684

你可能感兴趣的:(C/C++)