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. SQLite:.db文件扩展名.sqlite文件扩展名为
- 6. WordPress的文件扩展名
- 7. jQuery的文件扩展名
- 8. 文本文件扩展名
- 9. 确定缺少扩展名的图像的文件扩展名
- 10. XSD文件的文件扩展名
- 11. 扩展名为.asm的文件扩展名大小写对汇编源文件有影响吗?
- 12. 文件名扩展在bash
- 13. saveAsHadoopFile - 文件扩展名
- 14. ms office文件扩展名
- 15. 双文件扩展名
- 16. 更改文件扩展名?
- 17. 文件扩展名〜意思
- 18. 删除文件扩展名
- 19. 文件扩展名和C#
- 20. 忽略文件扩展名
- 21. 首选文件扩展名
- 22. http文件扩展名
- 23. 遍历文件扩展名
- 24. 文件扩展名为
- 25. 文件扩展名为
- 26. NSFileManager,文件扩展名
- 27. Directory.GetFiles - 文件扩展名
- 28. silverlight - 文件扩展名
- 29. 文件扩展名更改
- 30. .LYG文件扩展名
对不起...错字...编辑了问题 –
'gcc -xc hello.txt' – pmg
另请参阅:http://stackoverflow.com/questions/172587/what-is-the-difference-between-g -and-GCC/173007#173007 –