Q
源文件的擴展名
2
A
回答
3
編譯器不會通過查看文本來猜測文件中代碼的語言 - 您必須告訴它編譯的內容。幾乎每個編譯器都允許將其作爲標誌或傳遞,它將從文件擴展名中推斷出它。通過將適當的標誌傳遞給您的編譯器,您可以自由地將.cpp
文件編譯爲純C文件,因此無需推斷它。但是,這是一種情況,下面的慣例可以幫助你(減少旗幟傳遞)和其他程序員(從快速ls
知道語言)。
4
如果您沒有使用-x
選項指定語言,GCC(您將其命名爲您的標籤)會檢查文件擴展名。
如果擴展名未被識別,則該文件被直接傳遞給鏈接器。
1
這不是必要的 - 只是方便。您可以使用任何您想要的擴展名,但使用標準擴展名可以讓編譯器,操作系統和其他程序員輕鬆知道文件包含的內容。
1
編譯器通常使用擴展名來決定文件所包含的語言,因此如果它是.c
,它會將該文件視爲包含C源代碼。如果它是.C
(注意,大寫),.cc
,.cpp
等,它會將其視爲C++。根據不同的編譯器,它也可能認識其他擴展(例如,.pas
,.f
,.cs
等)
0
通常,.c
文件包含C和.cpp
文件包含C++。
編譯器經常使用擴展名來確定它可以在源文件中找到哪種語言。即使是包含純C但保存爲.cpp
擴展名的文件,通常也會被解釋爲C++。儘管大多數情況下,C++是C的超集,但這些語言之間存在細微的差異,因此代碼可能會有所不同。
您可以告訴大多數編譯器將任何文件視爲某種語言。編譯器與編譯器的不同之處在於,GCC使用-x
選項。
FWIW,我認爲GCC也接受.cc
作爲C++。但這可能已成爲過去。
相關問題
- 1. 讀取資源文件的擴展名
- 2. 文件擴展名
- 3. 文件擴展名[]
- 4. 文件擴展名
- 5. 文件擴展名
- 6. 文件擴展名
- 7. 文件擴展名
- 8. SQLite:.db文件擴展名.sqlite文件擴展名爲
- 9. jQuery的文件擴展名
- 10. WordPress的文件擴展名
- 11. 獲取除擴展名外沒有擴展名的文件名
- 12. 文本文件擴展名
- 13. 如何從沒有擴展名的文件名獲取文件擴展名?
- 14. 確定缺少擴展名的圖像的文件擴展名
- 15. XSD文件的文件擴展名
- 16. 確定擴展名的文件沒有擴展名
- 17. 擴展名爲.asm的文件擴展名大小寫對彙編源文件有影響嗎?
- 18. 文件擴展名和C#
- 19. 首選文件擴展名
- 20. 文件擴展名爲
- 21. 根據文件擴展名
- 22. PE/COFF文件擴展名
- 23. silverlight - 文件擴展名
- 24. .LYG文件擴展名
- 25. fuelphp - 文件擴展名
- 26. php文件擴展名
- 27. ms office文件擴展名
- 28. 忽略文件擴展名
- 29. http文件擴展名
- 30. 刪除文件擴展名
對不起...錯字...編輯了問題 –
'gcc -xc hello.txt' – pmg
另請參閱:http://stackoverflow.com/questions/172587/what-is-the-difference-between-g -and-GCC/173007#173007 –