如何在Windows 7中使c程序成为可执行文件

时间:2013-06-23 18:57:26

标签: c gcc

对于一个简单的“hello world”应用程序,我使用以下命令来使用GCC编译器创建.exe文件:

  

cpp hello.c> hello.i

(成功的)

  

gcc -S hello.i

(成功的)

  

as -o hello.o hello.s

(成功的)

最后使用以下命令链接文件以获取.exe时,出现错误:

C:\C_Experiments\test>ld -o test2.exe test2.o
test2.o:test2.c:(.text+  0  x  9): undefined reference to __main
test2.o:test2.c:(.text+0 x    15): undefined reference to printf
ld: test2.o: bad reloc address 0x0 in section `.pdata'

1 个答案:

答案 0 :(得分:2)

您需要链接包含启动功能和所有其他标准功能的运行时库。

为什么不跳过预处理器和汇编程序步骤,直接转到目标文件?并且在链接时使用gcc会自动添加所需的额外库吗?或者对于简单的单源文件程序直接转到可执行文件?

无论

$ gcc hello.c -c -o hello.o
$ gcc hello.o -o hello

或者

$ gcc hello.c -o hello