scons - 使用scons时如何保存汇编文件?
问题描述
当我使用env.Program('hello','spectre_full.c')
Sconstruct 中的命令时,它会生成spectre_full.o
文件和hello
可执行文件。
- 但是我想知道它的汇编代码,我应该如何设置它以保留汇编代码。
- 这个.o文件有什么用?这个.o文件是用来判断两代是否发生变化的吗?
解决方案
一般来说,编译器本身会在内部生成汇编代码并使用它来构建.o。
几乎任何编译器在提供 .c 以生成可执行文件时都会为所有提供的 .c 文件生成中间 .o。
SCons 知道程序需要 .o,因此可以有效地做到这一点:
env.Program('hello',env.Object('spectre_full.c'))
根据您的特定编译器,可能有一个命令行标志可以让它生成而不是删除汇编文件。一旦你弄清楚了,你可以通过
env.Append('CFLAGS','-whatever your flag is')
或者
env.Program('hello','spectre_full.c', CFLAGS="$CFLAGS -whatever your flag is")
推荐阅读
- java - 二进制搜索必须返回一个值,尽管返回一个值
- hyperledger-sawtooth - 无法从我的事务系列的 REST-API 接收数据
- javascript - 将元素传递给 node.js 终端
- testing - 来自测试架构的 ASP
- c# - Emgu CV Ram问题
- reactjs - 无法获取链接以显示新页面
- java - 致命异常:主进程:com.empowered.healo,PID:28143 io.reactivex.exceptions.CompositeException:发生2个异常。?
- python - 从字典中打印单个唯一行而不重复
- python - 如何垂直合并两个图像?
- javascript - 一段时间后更改文档中的变量值?