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会根据后缀判断编译规则。