cpp和c的区别

cpp和c的区别

今天一个问题困扰了我半天,在一个文件中一直识别不了operator这个c++的关键字,而我对c++也不熟,结果一直在查找编译错误。但到底是怎么引起的呢?

最后,才发现是因为operator所在的文件后缀是.c,然而operator是c++关键字,它所在的文件后缀需要是.cpp。

究其原因:

1. gcc认为.c是c程序源码,.cpp是c++程序源码。

2. g++认为.c是c++程序源码,.cpp是c++程序源码。

我们的系统默认用的是gcc编译器,这就导致本该是c++的源码被当做了c源码来编译,当然就识别不了operator这个c++的关键字了。

由此可见,cpp和c之间的区别应该至少有语法和编译的区别。即:

1. 如果.c文件,那么coder可以按照c语法来写程序;

2. 如果.cpp文件,那么coder可以按照cpp语法来写程序;

3. 写好后进行编译链接,gcc会根据后缀判断编译规则。

你可能感兴趣的:(cpp和c的区别)