145032305 L6 2017-04-12 00:35:33 gcc编译器的使用
888 1

“嵌入式Linux基础实验”实验报告

gcc编译器的使用

一、实验目的:

学会使用GCC编译器。

二、实验要求:

编写一应用程序,使用GCC进行编译并分别使用-o,-g,-static,-o2等项。

三、实验步骤:

1.先使用vi编辑hello.c文件,内容如下图所示: 实验楼 2.GCC指令的一般格式为:gcc[选项]要编译的文件[选项][目标文件],例使用GCC编译命令编译hello.c并生成目标文件hello,并运行hello。命令:gcc hello.c -o hello。 实验楼 3.-E的作用 只进行预处理,不做其他处理。例:只对hello.c进行预处理,生成文件hello.i,并查看,如图,命令:gcc -E hello.c -o hello.i。 实验楼 4.-S的作用 只是编译不汇编,生成汇编代码。例:将hello.i文件只进行编译不进 行汇编生成汇编代码hello.s。命令:gcc -S hello.i -o hello.s。 实验楼 5.-c的作用 只编译不链接,生成目标文件.o, 例:将汇编代码hello.s只编译不链接生成hello.o。命令:gcc -c hello.s -o hello.o。 实验楼 6.将编译好的hello.o链接成库生成可执行文件hello,命令:gcc hello.s -o hello.o。 实验楼 7.-static的作用 链接静态库 例:比较hello.c链接动态库生成的可执行文件hello和链接静态库生成的可执行文件hello1的大小。命令:gcc hello.c -o hello,gcc hello.c -static -o hello1。 实验楼 可以看到静态链接的可执行文件hello1比动态链接的可执行文件hello要大得多,但他们的执行效果是一样的。

8.-g的作用 在可执行程序中包含标准调试信息。 例:将hello.c编译成包含标准调试信息的可执行文件hello2 命令:gcc -g hello.c -o hello2 实验楼 注:带有标准调试信息的可执行文件可以使用gdb调试器进行调试,以便找出逻辑错误。

9.-O2的作用 完成程序的优化工作。 例:将hello.c使用优化选项O2编译生成可执行文件hello1和正常编译生成的可执行文件hello进行比较。 命令:gcc -O2 hello.c -o hello1 实验楼

最新评论

写的真好!!赞赞赞。完全是一篇很好的学习记录嘛,完全可以分享出去嘛,欢迎分享到微博和微信啊,(^__^) 嘻嘻……

段落之间可以空一行哦,这样段落才会更好的分开,不然就像没有段落一样。

2017-04-11 17:06:27
回复