【发布时间】:2016-10-22 05:06:10
【问题描述】:
所以我想将 A .c 转换为 .exe 文件。
我知道的直接命令是 gcc -o foo foo.c(我不想这样)
但后来我想一步一步做,就像我想将 .c 转换为 .S 使用 cc 编译器,然后将 .S 转换为 .o 使用汇编器,然后 .o 到 .exe 使用链接器。
所以我知道如何将 .c 转换为 .S 到 .o 但是我不知道链接器命令
我只知道它是这样的: ld -lc -o foo -ld-linux-x86-64.so.2 foo.o -e main(不确定,我缺少一些东西,所以请帮助我)
PS:我正在使用Linux编译(Ubuntu Flavor)
【问题讨论】:
-
组装步骤是不必要的,因为您在实践中不太可能这样做。其余步骤通常使用
Makefile完成。因此,我建议您熟悉如何使用make和Makefiles,以及如何在各种情况下调整典型配方。它不仅可以帮助您了解这些步骤在实践中是如何发生的(因为make显示了它默认运行的每个命令),而且您很快就会发现编写Makefiles 可以更轻松地维护项目,并且检查其他项目的Makefiles 信息量很大。
标签: c linux gcc compilation linker