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

时间:2012-01-03 16:51:08

标签: c++ gcc static-libraries nasm

我想在(32位)NASM中实现具有以下签名的许多功能:

int function1();
int function2();

等。

然后我想创建一个目标文件,并能够将它与使用gcc编译的C ++程序静态链接。我正在寻找一个函数的示例实现,它返回一个int,导出符号所需的任何其他代码和NASM的命令行,以生成一个我可以静态链接的.a文件。提前谢谢。

1 个答案:

答案 0 :(得分:2)

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

静态库只不过是目标文件的精美档案(因此是.a扩展名)。如果你真的想将一个对象打包到一个档案中,binutils有ar实用程序。