我想让 gcc 将我的 c 代码编译成 x86-32 linux 二进制代码,但周围没有任何库。我只想在开始时指定一个地址,它应该假设它已经加载到那里。然后我将手动从输出中构建一个 elf 文件并设置所有内容。
我知道如何使用 NASM 做这样的事情,但我有一些更复杂的事情,我不想只使用汇编程序。我不需要任何库,我将使用带有内联 asm 的纯系统调用。如果它失去一些便携性,我也不太在意。
我尝试了一些,但找不到办法做到这一点。有人不仅可以为我提供正确的设置,还可以为我提供有关编译和链接器参数的一些背景知识吗?我尝试搜索 gcc 手册,但发现它非常混乱。