如何在nasm中创建静态库并与gcc链接?

How can I create a static library in nasm and link with gcc?

本文关键字:gcc 链接 静态 nasm 创建      更新时间:2023-10-16

我想在(32位)NASM中实现一些具有以下签名的函数:

int function1();
int function2();

等。

然后我想创建一个对象文件,并能够静态链接它与一个c++程序编译与gcc。我正在寻找一个函数的示例实现,该函数返回int,导出符号所需的任何附加代码和NASM的命令行,以生成我可以静态链接到的.a文件。

汇编程序将输出一个目标文件,只是在链接时使用它(我不记得NASM选项,所以不要逐字尝试-像nasm foo.asm -o foo.o; g++ -o prog foo.o bar.cpp一样)。

静态库只不过是对象文件的花哨存档(因此扩展名为.a)。

binutils有ar实用程序,如果您真的想将单个对象打包到存档中。