示例

测试程序

#include <stdio.h>

#define HELLO "Hello World!!!\n"

int main(int argc,char *argv[])
{
    printf(HELLO);

    return 0;
}

操作

gcc -E hello.c -o hello.i(预处理)

gcc -S hello.i -o hello.s(编译,生成汇编代码)

gcc -c hello.s -o hello.o(汇编,生成二进制代码)

gcc hello.o -o hello(链接:不需要额外选项,生成可执行文件)

gcc hello.c -o hello(直接编译链接成可执行目标文件) gcc -c hello.c或gcc -c hello.c -o hello.o(编译生成可重定位目标文件)

-Wall的使用 建议初学都加上-Wall选项。 有些程序不加-Wall选项,编译器不报任何错误,但是得到的结果却不是预期的。

如下:

bad.c

#include <stdio.h>

int main(int argc,char *argv[])
{
    printf("2 + 2 = %f\n",4);

    return 0;
}