如何在 CMake 中查看汇编程序文件?

问题描述 投票:0回答:1

我正在使用 CMake 通过 GFortran 编译器来编译 fortran 代码。我想查看汇编程序文件,但我以前没有这样做过。运行 make 后我应该看到 .s 文件吗?

我已经在我的 CmakeLists 中启用了程序集

 enable_language(ASM-ATT)
并且我使用了以下标志
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -save-temps -g -O0
来保存汇编程序文件构建后

assembly cmake fortran gnu gfortran
1个回答
0
投票

-save-temps
选项可以正常工作。您可以通过
.s
或其他搜索工具找到带有 .S 扩展名(以及
not
find . -name *.s
)的程序集文件,但最有可能的是,它们位于
<build-dir>/CMakeFiles/<target-name>.dir
中。

此外,无需通过调用

enable_language(ASM-ATT)
来启用汇编语言。如果您的源代码树中已经有一些汇编文件,您应该这样做,这些文件将与 Fortran 文件一起编译。

填充编译选项的更好方法不是使用像

CMAKE_Fortran_FLAGS
这样的CMake变量,因为它适用于所有目标,而是调用特定于目标的命令:

add_executable(main)
target_sources(main PRIVATE <your sources>)
target_compile_options(main PRIVATE -save-temps <other options>)

当您通过

CMAKE_BUILD_TYPE
指定构建类型时,会设置 -g 等其他选项:

cmake -DCMAKE_BUILD_TYPE=Debug ..
© www.soinside.com 2019 - 2024. All rights reserved.