生成程序集文件,然后编译成可执行文件

cmake generate assembly file then compile it into executable

本文关键字:编译 可执行文件 然后 文件 程序集      更新时间:2023-10-16

我使用cmake,假设我有一个。cpp文件。是否可以在cmake中首先将此cpp文件编译为汇编代码,然后执行一些其他操作,然后从生成的汇编创建可执行文件?

更新:我想把Hello。cpp编译成Hello。S(稍后修改它,然后创建目标文件)。然而,我不能生成asm文件与该代码(它只是创建一个Hello。静态库):

add_library(Tutorial Hello.cpp)
set_target_properties(Tutorial PROPERTIES COMPILE_FLAGS "-S") 
install (TARGETS Tutorial DESTINATION bin)

CMake总是为你生成"汇编文件规则"。比如你有:

file(WRITE main.cpp "int main() { return 0; }")
add_executable(MyMain main.cpp)

对于目标main.smain.cpp.s,可以调用make,如:

> make main.cpp.s
Compiling CXX source to assembly CMakeFiles/MyMain.dir/main.cpp.s

但是如果你想自动化一切,看看我的答案在你的另一个问题:

  • 在cmake
  • 中生成asm文件后调用shell命令

您可以告诉GCC只使用-S选项生成程序集。

您也可以告诉GCC将中间文件保存在-save-temps .