假设,我写了一个实现“fprint”的小型lib。教我MMIX(Das MMIX-Buch,德语)的书总是将整个lib复制到新程序中,但我不喜欢这种方法。有没有办法将库组装成一个目标文件,将主程序组装成另一个并将这两个链接在一起?怎么做?
答案 0 :(得分:1)
检查mmix存储库www.mmix.cs.hm.edu示例文件夹中有两个示例:Hello World GNU,descrobes一步一步如何获取和使用GNU工具并编译和链接hello.s(汇编程序) )或者与C库链接的hello.c和第二个例子,在MMIX上运行MMIX,它将来自不同c文件的MMIX的MMIX可执行文件链接在一起,并将几个汇编程序文件和一个C库链接在一起,为MMIX实现fat32文件系统。 马丁
答案 1 :(得分: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将显示这些。