不管是C语言还是汇编语言想要执行都是最终编译链接成为二进制文件。
这里一定要明确编译和链接是两个步骤,生成的文件格式也是不一样的。
编译生成的文件是一定格式的,里面包括函数符号表、参数表...等信息,这些信息主要是提供给链接阶段使用,函数调用是怎么调用的?是不是指定利用的函数的符号?所以链接阶段就是将函数调用的符号变成相对地址(要特别注意这个阶段,因为这个过程使得C语言和汇编语言相互调用成为可能)。
内容来自
C语言与汇编语言相互调用原理以及实例_weixin_34019144的博客-CSDN博客