GCC简单使用说明

1.编译单个文件

hello.c代码如下
#include<stdio.h>
int main()
{
printf(“hello world\n”);
return 0;
}

然后保存,然后使用gcc hello.c
这样就会自动生成一个a.out文件
执行./a.out就会输出hello world

2.编辑多个文件

message.c代码如下
#include<stdio.h>
void seeyou(void)
{
printf(“goodbye\n”);
}
hello.c文件内容如下
#include<stdio.h>
void seeyou();
int main()
{
seeyou();
printf(“hello.c\n”);
return 0;
}
然后保存,然后使用gcc -c message.c会生成message.o
然后使用gcc -c hello.c会生成hello.o
然后使用gcc -o hello message.o hello.o
然后可以执行./hello看到输出goodbye和hello.c
上面的命令可直接使用gcc -o message.c hello.c这样就不会生成中间文件

gcc常用选项
-c 只预处理、编译和汇编源程序,不进行连接。编译器对每一个源程序产生一个目标文件。
-o file 确定输出文件为file。如果没有用-o选项,缺省的可执行文件的输出是 a.out,目标文件和汇编文件的输出对source.suffix分别是source.o和source.s,预处理的C源程序的输出是标准输出stdout。
-Dmacro或-Dmacro=defn 其作用类似于源程序里的#define。例如:% gcc -c -DHAVE_GDBM -DHELP_FILE=\”help\” cdict.c其中第一个- D选项定义宏HAVE_GDBM,在程序里可以用#ifdef去检查它是否被设置。第二个-D选项将宏HELP_FILE定义为字符串“help”(由于反斜线的作用,引号实际上已成为该宏定义的一部分),这对于控制程序打开哪个文件是很有用的。
-Umacro 某些宏是被编译程序自动定义的。这些宏通常可以指定在其中进行编译的计算机系统类型的符号,用户可以在编译某程序时加上 -v选项以查看gcc缺省定义了哪些宏。如果用户想取消其中某个宏定义,用-Umacro选项,这相当于把#undef macro放在要编译的源文件的开头。
-Idir 将dir目录加到搜寻头文件的目录列表中去,并优先于在gcc缺省的搜索目录。在有多个-I选项的情况下,按命令行上-I选项的前后顺序搜索。dir可使用相对路径,如-I../inc等。



Tagged , , , , . Bookmark the permalink.

Comments are closed.