【发布时间】:2020-08-09 04:17:22
【问题描述】:
我想将我的 nasm 代码拆分为多个文件,以便我可以分别处理不同的代码段。但是,我发现的唯一方法是使用 nasm %include 宏。例如。 main.asm 文件看起来有点像这样,
; ---- main.asm ----
%include "./header.asm"
section .text
global _start
_start:
call dummy_func
mov rax, 0x3c
mov rdx, 0x0
syscall
而header.asm 只包含
section .text
dummy_func:
ret
我听说过一种在链接期间执行此操作的方法。我对此很感兴趣,但找不到合适的东西。真的有可能吗?如果是这样,可以用ld 完成吗?还有什么其他方法可以包含静态库? (可能还有一些宏。但是我不确定“宏”在这里是正确的词)
【问题讨论】:
-
这方面我没有急用,我只是想了解一下NASM是如何工作的。感谢您抽出宝贵的时间