❤️强烈推荐人工智能学习网站❤️
.c和.cpp的大致区别很明显就能看出来,一个表示C的源程序,一个表示C++的源程序,那么我们今天结合gcc/g++来看一下它们的区别。
代码:
[xxx@localhost test]$ cat test.c
#include<stdio.h>
void func()
{
printf("hello world!\n");
}
int main()
{
func();
return 0;
}
[xxx@localhost test]$
结果:
注:.c文件和.cpp文件的内容相同
对于.c文件,gcc编译后的func的.type为func;而对于.cpp文件gcc编译后的func的.type为_Z4funcv, 则编译器会根据文件后缀名对函数或变量名对某些修正,一个是C的编译方式,一个是C++的编译方式。
上面是用gcc编译的,下面我们来用g++试一下:
可以看到g++无论是对.c文件还是.cpp文件都是按C++的方式编译的,这是和gcc是有区别的。gcc会根据文件后缀名来确定编译方式,而g++只有C++的编译方式。