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會根據后綴判斷編譯規則。