C++链接如何在实践中发挥作用?我正在寻找的是关于链接如何发生的详细解释,而不是链接的命令.
关于编译已经有类似的问题,但没有详细说明:编译/链接过程如何工作?
我有一些通常具有以下结构的NASM文件:
[BITS 64]
[ORG 0x0000000000200000]
start:
...
ret
Run Code Online (Sandbox Code Playgroud)
我正在组装它们:
nasm -f bin abc.asm
Run Code Online (Sandbox Code Playgroud)
我想用GAS写一些这些.两个问题:
我应该在GAS中使用哪些指令?我找到了'.org'指令,但GAS似乎没有'.bits'指令.
我应该传递什么gcc或as生成一个普通的二进制文件?即-f binNASM 的选项是什么.
如何生成可直接在 CPU 上运行的平面二进制文件?
也就是说,没有操作系统;也称为独立环境代码(请参阅在没有操作系统的情况下直接运行的程序的名称是什么?)。
我注意到我正在使用的as来自 OS-X 开发人员工具包的汇编器不断生成 Mach-O 文件,而不是平面二进制文件。