Gcc Makefile如何确定编译器将创建的二进制格式?
Makefile是否可以确定编译器的目标二进制格式(即PE、ELF、Mach-O等)?也许通过运行带有特定选项的编译器或汇编程序Gcc Makefile如何确定编译器将创建的二进制格式?,gcc,makefile,executable,gnu-assembler,Gcc,Makefile,Executable,Gnu Assembler,Makefile是否可以确定编译器的目标二进制格式(即PE、ELF、Mach-O等)?也许通过运行带有特定选项的编译器或汇编程序 或者我可以从操作系统(通过运行uname-s或类似的东西)准确地确定这一点吗?这就是配置脚本存在的原因——也就是说,探测构建环境以确定语言中不直接可用的有用信息 如果已经有一个autoconf宏来处理这个问题,我也不会感到惊讶。然而,我没有看 实现您想要的最简单的方法是,首先,使用您想要测试的编译器和编译器选项编译尽可能最简单的程序。然后,使用file命令查看创建的文
或者我可以从操作系统(通过运行
uname-s
或类似的东西)准确地确定这一点吗?这就是配置
脚本存在的原因——也就是说,探测构建环境以确定语言中不直接可用的有用信息
如果已经有一个autoconf宏来处理这个问题,我也不会感到惊讶。然而,我没有看
实现您想要的最简单的方法是,首先,使用您想要测试的编译器和编译器选项编译尽可能最简单的程序。然后,使用file
命令查看创建的文件类型。您可以在输出上使用sed
或类似工具,将其转换为您希望传递给实际编译的任何符号或字符串
如果
文件
不合您的口味,您也可以编写一个自定义程序来检查输出文件,看看它是什么。您的最终目标是什么?@EtanReisner:在编译.s
汇编文件(大写“s”)时将格式信息传递给C预处理器,指示应预处理程序集文件)。