![]() |
1
5
延期并不意味着什么。只是一种帮助你跟踪什么文件是什么的方法。(也有助于像GUI浏览器这样的东西在正确的程序中打开文件)。 (Java可能会在意,因为语言规范中说源文件以.Java结尾,但可能有办法破解它)。 |
![]() |
2
4
这更多地取决于使用的编译器而不是语言。例如,gcc/g++有一个命令行选项
|
![]() |
3
3
这确实依赖于编译器。例如,我想有C/C++编译器调度器根据在.c或.cp中结束的文件进行一些假设,但是也可以有命令行选项来显式地指定文件应该如何处理。 |
![]() |
4
1
许多编译器可以在一个构建中接受多种类型的文件,并使用文件的扩展名来确定如何处理它。例如,人们可能会说: acmecompile foo.c bar.c fred.cpp wow.asm lib1.lib compilething.obj -o result.exe 它将使用各种文件的扩展来确定前两个应该通过C编译器,下一个通过C++编译器,下一个通过汇编程序。最后两个应该直接输入到链接器。 通常,有一些方法告诉编译器,特定的文件应该如何处理特定的方式,而不考虑它的扩展;例如,有时可能希望多目标应用程序中的一些文件被编译为C,用于某些目标,而C++用于其他项目(在我的一个项目中)。主要目标是在C中构建并使用硬件I/O寄存器;而另一个用C++构建的目标则用属性替换这些寄存器。 |
![]() |
George S. · 是否存在基于元组的控制流语句内部表示? 7 年前 |
![]() |
FlatAssembler · 在x86程序集中计算exp(x) 7 年前 |
![]() |
cib · 即时编译和动态编译有什么区别? 7 年前 |
![]() |
Artemis · 寄存器与指令之间的差异 7 年前 |
![]() |
Sam · 了解go工具编译和链接命令 7 年前 |