2

假设,我写了一个小库来实现一些“fprint”——可能。教我 MMIX 的书(Das MMIX-Buch,德语)总是将整个库复制到新程序中,但我不喜欢这种方法。有没有办法将库组装成一个目标文件,主程序组装成另一个并将这两个链接在一起?这该怎么做?

4

2 回答 2

1

检查 mmix 存储库 www.mmix.cs.hm.edu 的示例文件夹中有两个示例:Hello World GNU,逐步描述如何获取和使用 GNU 工具以及编译和链接 hello.s(汇编程序)或 hello .c 与 C 库和第二个示例链接,在 MMIX 上运行 MMIX,它将来自不同 c 文件的 MMIX 的 MMIX 可执行文件链接在一起,并将几个汇编程序文件和 C 库链接在一起以实现 MMIX 的 fat32 文件系统。马丁

于 2011-05-20T16:14:44.403 回答
0

根据我从简短的互联网搜索中了解到的信息,mmix 工具使用普通的 gcc 和 binutils 包。因此,我希望多个目标文件甚至标准静态库都能“正常工作”。我想知道你遇到了什么确切的问题。

gcc -c lib.c -o lib.o
gcc -c main.c -o main.o
gcc lib.o main.o -o program

编辑:显然与 asm 源类似,只需使用 .s 或 .S 扩展名。当然,您也可以使用 gcc 在幕后使用的适当的汇编器和链接器命令。命令行选项 -v 将显示这些。

于 2011-02-20T22:52:50.873 回答