实验一UNIX/LINUX及其使用环境
(二)LINUX下C语言使用、编译与调试实验
实验目的1、复习C语言程序基本知识
2、练习并掌握UNIX提供的vi编辑器来编译C程序
3、学会利用gcc、gdb编译、调试C程序
实验内容1、用vi编写一个简单的、显示Hello,World!的C程序,用gcc编译并观察编译后的结果
2、利用gdb调试该程序
3、运行生成的可执行文件。
实验指导一、C语言使用简介
LINUX中包含了很多软件开发工具。它们中的很多是用于C和C++应用程序开发的。
C是一种能在UNIX的早期就被广泛使用的通用编程语言。它最早是由Bell实验室的DennisRitchie为了UNIX的辅助开发而写的,从此C就成为世界上使用最广泛的计算机语言。
C能在编程领域里得到如此广泛支持的原因有:
(1)它是一种非常通用的语言,并且它的语法和函数库在不同的平台上都是统一的,对开发者非常有吸引力;
(2)用C写的程序执行速度很快;
(3)C是所有版本UNIX上的系统语言;
二、文件编辑器vi
vi是在UNIX上被广泛使用的中英文编辑软件。vi是visualeditor的缩写,是UNIX提供给用户的一个窗口化编辑环境。
进入vi,直接执行vi编辑程序即可。
例:$vitest.c
显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。编辑完成后,使用者可决定是否要取代原来旧有的文件。
1、vi的工作模式
vi提供二种工作模式:输入模式(insertmode)和命令模式(commandmode)。使用者进入vi后,即处在命令模式下,此刻键入的任何字符皆被视为命令,可进行删除、修改、存盘等操作。要输入信息,应转换到输入模式。
(1)命令模式
在输入模式下,按ESC可切换到命令模式。命令模式下,可选用下列指令离开vi:
:q!离开vi,并放弃刚在缓冲区内编辑的内容
:wq将缓冲区内的资料写入磁盘中,并离开vi
:ZZ同wq:x同wq:w
将缓冲区内的资料写入磁盘中,但并不离开vi
:q离开vi,若文件被修改过,则要被要求确认是否放弃修改的内容,此指令可与:w配合使用
(2)命令模式下光标的移动
H左移一个字符
J下移一个字符
K上移一个字符
L右移一个字符
0移至该行的首
$移至该行的末
^移至该行的第一个字符处
H移至窗口的第一列
M移至窗口中间那一列
L移至窗口的最后一列
G移至该文件的最后一列
W,W下一个单词(W忽略标点)
B,B上一个单词(B忽略标点)
+移至下一列的第一个字符处
-移至上一列的第一个字符处
(移至该句首)移至该句末
{移至该段首}移至该段末
NG移至该文件的第n列
N+移至光标所在位置之后第n列
n-移至光标所在位置之前第n列
(3)输入模式
输入以下命令即可进入vi输入模式:
a(append)在光标之后加入资料
A在该行之末加入资料
i(insert)在光标之前加入资料
I在该行之首加入资料
o(open)新增一行于该行之下,供输入资料用
O新增一行于该行之上,供输入资料用
Dd删除当前光标所在行
X删除当前光标字符
X删除当前光标之前字符
U撤消·重做F查找
s替换,例如:将文件中的所有FOX换成duck,用:%s/FOX/duck/g
ESC离开输入模式
更多用法见infovi
三、GNUC编译器
LINUX上可用的C编译器是GNUC编译器,它建立在自由软件基金会编程许可证的基础上,因此可以自由发布。
LINUX上的GNUC编译器(GCC)是一个全功能的ANCIC兼容编译器,而一般UNIX(如SCOUNIX)用的编译器是CC。下面介绍GCC和一些GCC编译器最常用的选项。
1、使用GCC通常后跟一些选项和文件名来使用GCC编译器。GCC命令的基本用法如下:
gcc[options][filenames]
命令行选项指定的编译过程中的具体操作
2、GCC常用选项
GCC有超过100个的编译选项可用,这些选项中的许多可能永远都不会用到,但一些主要的选项将会频繁使用。很多的GCC选项包括一个以上的字符,因此必须为每个选项指定各自的连字符,并且就像大多数LINUX命令一样不能在一个单独的连字符后跟一组选项。例如,下面的命令是不同的:
gcc-p-gtest.c
gcc-pgtest.c
第一条命令告诉GCC编译test.c时为prof命令建立剖析(profile)信息并且把调试信息加入到可执行文件里。第二条命令告诉GCC只为gprof命令建立剖析信息。
当不用任何选项编译一个程序时,GCC将建立(假定编译成功)一个名为a.out的可执行文件。例如,
gcctest
您可能关注的文档
- 操作流体混合单元的控制系统.ppt
- 操作数据存储(ODS)和数据集市(详解).ppt
- 操作系统 ---- 存储管理.ppt
- 操作系统 第5章输入与输出系统(1).ppt
- 操作系统 进程分配.doc
- 操作系统 习题解析.ppt
- 操作系统4死锁n.ppt
- 操作系统C__第6章_文件管理-new.ppt
- 操作系统安全加固.ppt
- 操作系统安全配置.ppt
- 中国国家标准 GB/Z 37551.300-2026海洋能 波浪能、潮流能及其他水流能转换装置 第300部分:河流能转换装置发电性能评估.pdf
- GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 中国国家标准 GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 《GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法》.pdf
- 中国国家标准 GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- 《GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义》.pdf
- 中国国家标准 GB/T 4937.37-2025半导体器件 机械和气候试验方法 第37部分:采用加速度计的板级跌落试验方法.pdf
- 《GB/T 4937.10-2025半导体器件 机械和气候试验方法 第10部分:机械冲击 器件和组件》.pdf
- 中国国家标准 GB/T 44937.2-2025集成电路 电磁发射测量 第2部分:辐射发射测量TEM小室和宽带TEM小室法.pdf
最近下载
- 沧州临港中钛科美环保科技有限公司环境影响评价评价报告书.DOC
- 浅析黑龙江交通广播节目.doc VIP
- 2026-2030中国超导型磁共振成像设备(MRI)行业经营风险及未来前景深度评估研究报告.docx
- 徐州中考历史模拟试卷及答案.docx VIP
- 2026山东水设智能科技有限公司招聘20人笔试考试参考试题及答案解析.docx VIP
- 专题19 瓜豆原理中动点轨迹圆或圆弧型最值问题(学生版).pdf VIP
- 2025年陕西省公务员省考《行测》真题(含答案).pdf VIP
- 四年级下册数学试题-奥数培优:周期问题(含答案)全国通用.pdf VIP
- 高中奥数教材.pdf VIP
- 高中奥数解题技巧.doc VIP
原创力文档

文档评论(0)