预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共67页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第8章Linux编程8.1文本编辑器8.1.1认识vivi是“VisualInterface”的简称,可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。 vi相当简洁,没有菜单,只有命令且相当丰富。其常用命令将在后文中进行详细介绍。vi有三种基本工作模式:命令行模式、文本输入模式和末行模式。1.命令行模式 2.文本输入模式 3.末行模式 8.1.2启动vi编辑器命令8.1.3显示vi中的行号8.1.4光标移动操作(Cursor)在文本输入模式下,可直接使用键盘上的四个方向键移动光标。 在命令模式下,有很多移动光标的方法。不但可以使用四个方向键来移动光标,还可以用h、j、k、l这四个键代替四个方向键来移动光标。vi除了可以用向下键将光标下移外,还可以用数字键和“+”键将光标下移一行或n行(不包括本行在内),但此时光标下移之后将位于该行的第一个字符处,示例及说明如下。 若希望光标上移之后,光标位于该行的行首,则可以使用命令“-”。8.1.6文本插入命令(Insert)1.i命令2.I命令8.1.7附加命令(append)2.A命令8.1.12退出vi(exit)(2)在末行模式下,输入命令:w。vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起一个新的文件名。 8.1.13设置vi8.1.14其他文本编辑器图8-1GNOME下的gedit8.2Linux编程——gcc编译8.2.1介绍gcc因为gcc可以对多种编程语言的源码进行编译,为了不至于混淆,gcc通过文件后缀进行区分。8.2.2gcc的基本用法和常用选项gcc编译器具有如下几类选项。 (1)编译选项 (2)优化选项 (3)调试和剖析选项一些实际使用中常用的编译选项。 (1)-xlanguagefilename (2)-xnonefilename (3)-c (4)-S (5)-E(6)-o (7)-pipe (8)-ansi (9)-fno-asm (10)-fcond-mismatch (11)-funsigned-char、-fno-signed-char、-fsigned-char和-fno-unsigned-char(12)-includefile (13)-imacrosfile (14)-Dmacro (15)-Dmacro=defn (16)-Umacro (17)-undef (18)-Idir(19)-I (20)-idirafterdir (21)-nostdinc (22)-C (23)-M (24)-MD (25)-llibrary (26)-Ldir(27)-O0、-O1、-O2、-O3 (28)-g (29)-gstabs (30)-gstabs+ (31)-ggdb (32)-static (33)-share(34)-traditional (35)-w (36)-Wall预处理-编译-汇编-链接8.3Linux编程——gdb调试(1)监视程序中变量的值 (2)设置程序断点 (3)逐行执行代码 8.3.2gdb的基本用法命令8.3.3gdb的实例修改后string2[size-i-1]8.4Linux编程——使用make利用make工具,可以将大型的开发项目分解成为多个更易于管理的模块,分块编译对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。多个源文件生成一个可执行文件对于如此多的源文件,如果每次都要键入gcc命令进行编译的话,那么对程序员来说将是一件非常困难的事情。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。 因此,有效地利用make和makefile工具可以大大提高项目开发的效率,也可以大大地减少程序中出现的错误。下面本节将详细介绍make及其描述文件makefile。 8.4.1makefile文件在Linux系统中,习惯使用“Makefile”作为makefile的文件名。如果要使用其他文件作为makefile,则可利用类似下面的make命令选项指定makefile文件。 #make-fMakefile.debug makefile文件作为一种描述文档一般需要包含以下内容。 (1)宏定义 (2)源文件之间的相互依赖关系 (3)可执行的命令8.4.2make命令