【发布时间】:2023-03-08 08:52:02
【问题描述】:
是否有一组命令行选项可以说服 gcc 从自包含源文件生成平面二进制文件?例如,假设 foo.c 的内容是
static int f(int x)
{
int y = x*x;
return y+2;
}
没有外部引用,没有任何东西可以导出到链接器。我想得到一个只有这个功能的机器指令的小文件,没有任何其他装饰。除了 32 位保护模式外,有点像 (DOS) .COM 文件。
【问题讨论】:
-
两个很好的答案同时提交。我不知道该打勾。
-
您可以考虑接受直接回答您问题的more recent answer(纯编译器/链接器答案)。
-
一个在其翻译单元中没有调用者的
static函数将被优化掉。所以在使用答案之前删除static。
标签: linux gcc command-line linker x86