一、实验目的及要求
掌握linux下编程的基本方法
二、实验原理与内容
用vi、gcc、gdb进行编程、调试和编译。
(1)用vi编写一个简单程序(打印小于100的质数)。
(2)用gcc、gdb编译并调试该程序。
三、实验软硬件环境
虚拟机软件、一台计算机
四、实验过程(实验步骤、记录、数据、分析)
按步骤依次写出程序、运行结果等(可截屏)
1.用vi编写一个简单程序(打印小于100的质数
2.用gcc、gdb编译并调试该程序
分析:
①gcc -E xxx.c -o xxx.i:预处理(主要进行宏替换以及头文件的包含展开,不会检查错误)
②gcc -S xxx.i -o xxx.s:编译(编译生成汇编文件,会检查语法是否有错误)
③gcc -c xxx.s -o xxx.o:汇编(将汇编文件编译成目标文件(二进制文件))
④gcc xxx.o -o xxx:链接(链接库函数,生成可执行文件)
(或者直接一步完成编译:gcc -o xxx xxx.c,就会直接生成可执行文件)
gdb调试过程:
首先使用gcc对hcy2.c进行编译,注意一定要加上选项“-g”,这样编译出的可执行代码中才包括调试信息,否则之后gdb无法载入该可执行文件。
gdb调试的目标为可执行文件。使用命令“gdb + 可执行文件名”即可启动gdb调试。
五、实验结论与体会
1. gcc是一个可移植的编译器,支持多种硬件平台。从源代码test.c到执行代码a.out,总共经历了4个编译必不可少的步骤,分别是预处理、编译、汇编、链接
2. gdb调试过程大致有:单步执行,跳入函数,跳出函数,设置断点,设置观察点,查看变量等
3.熟悉了gcc编译器编译代码、gdb调试器调试代码的基本过程。
4.掌握了linux命令的使用情况、linux系统下的C语言编程方法。