写的真好!!赞赞赞。完全是一篇很好的学习记录嘛,完全可以分享出去嘛,欢迎分享到微博和微信啊,(^__^) 嘻嘻……
段落之间可以空一行哦,这样段落才会更好的分开,不然就像没有段落一样。
一、实验目的:
学会使用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
学习时间 80分钟
操作时间 24分钟
按键次数 464次
实验次数 1次
报告字数 1571字
是否完成 完成