生成程序集文件,然后编译成可执行文件
cmake generate assembly file then compile it into executable
我使用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.s
或main.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
.
相关文章:
- 如何使字符串出现在编译的二进制可执行文件的开头?
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 编译的C可执行文件被Windows defender检测为病毒
- CMake 添加和删除宏定义以编译共享库/可执行文件
- 编译可执行文件之前未生成的文件
- 使用共享库编译可执行文件时仅链接所需的符号
- 在 Ubuntu 18.04 上,我编译的 cpp 可执行文件找不到 VTK7 依赖项
- 从 PHP 调用已编译的C++可执行文件来创建套接字
- 如何在 Azure 应用服务中使用 cl.exe 编译 C++ 代码并生成可执行文件
- 使用 make 编译多个可执行文件
- 使用 MINGW 和 CPLEX 库链接从 Linux 编译 Windows 可执行文件
- 如何从 Linux 交叉编译到 32 位 Windows 可执行文件
- 使用 g++ 和 Makefile 编译 c++ 时可执行文件非常大
- 在QMAKE中编译之前,如何使用可执行文件构建多个标头文件
- 如何在Linux中编译C 程序以生成Windows可执行文件
- MinGW 编译的可执行文件与网络无法在 x64 系统上运行
- Cython:编译独立的静态可执行文件
- 从.pro编译可执行文件
- 使用.dll文件编译可执行文件,.dll与.exe相关的文件
- 如何在C++中调用预编译可执行文件中的函数(通过命令调用)