【发布时间】:2019-08-05 20:31:03
【问题描述】:
根据How does the compilation/linking process work?
在编译期间,编译器获取预处理器的输出并 从中生成一个目标文件。
另外,
编译是指对源代码文件(.c、.cc、 或 .cpp) 并创建一个“对象”文件。
例如:
如果我有 2 个文件 test1.cpp 和 test2.cpp。我可以使用g++ -c test1.cpp test2.cpp 进行模块化编译,它会生成两个目标文件test1.o 和test.o。
但是在单步编译期间呢?我有 1 个文件 test1.cpp。使用命令g++ test1.cpp,目录中似乎没有生成目标文件。那么在单步编译期间会发生什么?
【问题讨论】:
-
C++ 标准没有说明编译和/或链接必须如何工作。这取决于编译器和链接器的实现。
-
"使用命令 g++ test.cpp,似乎没有生成任何目标文件" - 那你需要更仔细地查看。除非编译失败,否则肯定会生成一个目标文件。
-
@NeilButterworth 争论点。 OP 没有就此询问 C++ 标准报价。
-
@JesperJuhl 用给定的命令,它不会。
-
“我想重新提出问题” - 有人阻止你吗?
标签: c++ compilation g++