在Visual Studio C++编译项目时生成目标文件".o"

3

我正在尝试在Microsoft Visual Studio C++ 2010中生成我的项目的".cpp"文件的".o"输出。

我已经找到了回答,说要编译而不链接只需按Ctrl + F7,但是这个目标文件创建在哪里?


1
我相信在某些微软系统上,目标文件被称为 *.obj,而不像在 Linux 上是 *.o。但我最后一次在微软系统上编译代码还是在 1980 年代... - Basile Starynkevitch
2
Basile的记忆很好;微软的编译器仍然会创建*.obj文件。请查看项目文件夹中的DebugRelease目录。 - Cody Gray
更根本的是,Windows 的目标文件是 COFF 格式,而 Linux 和其他类 Unix 操作系统的目标文件是 ELF 格式。我认为 Microsoft 的编译器甚至不能输出 ELF 格式。@Basile Starynkevitch - Martin Green
是的,而且根据我记得在读Levine的有关加载器和链接器的书时所了解到的,微软的链接模型是一个错误。在我看来,Linux的链接模型更简单。 - Basile Starynkevitch
1个回答

3

Visual Studio创建*.obj文件,无论您是否链接它们,这些文件都会被创建。默认目录为“Debug”和/或“Release”,但这取决于项目设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接