Linux下应用程序开发基础 - 图文

2019-01-19 17:15

-42- 嵌入式Linux系统开发与应用实验教程

第三章 Linux下应用程序开发基础

在Linux系统下进行应用程序开发,必须先熟悉GNU/Linux系统下的开发工具的使用。在本章中,我们主要介绍全屏编辑器vi(VIM)、集成开发工具KDevelop、交叉编译工具GNU GCC套件的功能及使用。另外,为了提升应用程序的可读性和可维护性,在第4小节专门就嵌入式应用程序的编程风格进行简单描述。

3.1 vi编辑器

3.1.1 vi简介

vi是Linux系统最常用的全屏编辑器,所有的Linux机器都提供该编辑器,而Linux里提供的是vi的加强版——VIM,但同vi是完全兼容的。vi的原意是―visual interface‖,即可视编辑器,用户键入的内容会立即被显示出来,而且其强大的编辑功能可以同任何一种最新的编辑器相媲美。它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据需要对其进行定制,这是其他编辑程序所没有的。vi不是一个排版程序,不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。

3.1.2 vi基本操作模式

vi有三种基本操作模式,它们是:

● 插入模式:插入模式即为文本编辑模式。这个模式用于输入文本或程序,输入字母i,即进入插入模式,按ESC键返回到命令模式。

● 可视命令模式:一般当进入vi时,会首先进入可视命令模式,这是vi的启动默认模式,这种模式用于输入操作命令。

● 冒号命令模式:在冒号命令模式下,所有命令都要以“:”开始,所输入的字符均作为命令来处理。

3.1.3 vi的进入和退出

在Linux系统的终端命令行模式下键入命令vi,后面跟上想要编辑(或者建立)的文件名,vi可以自动载入所要编辑的文件或是开启一个新文件。如果想用Linux桌面上的VIM编辑器,可以从Linux桌面上点击主菜单→编程→VIM,进入VIM启动界面,然后可通过选择上方的菜单来进行操作。

vi的退出,可以在冒号命令行模式下使用命令“:wq”或者―:q!‖,前者的功能是写文件并从vi中退出,后者的功能是从vi中退出,但不保存所作的修改(注意冒号)。VIM的退

第3章 Linux下应用程序开发基础 -43-

出也可通过选择编辑器上方的菜单来完成。

3.1.4 vi的命令

(1) 光标的移动

用户除了通过按键盘的上、下、左、右箭头键来移动光标,还可以利用vi提供的字母键h(左移)j(下移)k(上移)l(右移)来完成光标的移动。

(2) 删除和替换类命令 x—删除光标所在位置的字符。 dw—删除光标处的单词。 d$—从当前光标删除到行末。 dd—删除光标所在行。

r—输入r和一个字符替换光标所在位置的字符。 u—恢复前一次所做的操作。

(3) 更改命令

cw—改变一个单字/单词的部分或者全部。更改类指令可以使用同删除类命令所使用的对象参数。

(4) 置入命令

p—将最后一次删除的内容置入光标之后。

(5) 配对括号的查找

%—可以查找配对的括号 )、]、}。在程序调试时,这个功能用来查找不配对的括号是很有用的。

(6) 提取和合并文件

:r 文件名—向当前文件中插入另外文件的内容,将文件提取进来。

(7) 打开类命令

输入小写的 o 可以在光标下方打开新的一行并将光标置于新开的行首,进入插入模式。 输入大写的 O 可以在光标上方打开新的一行并将光标置于新开的行首,进入插入模式。

(8) 查找字符串

在命令行键入字符“/”,后面加上要搜索的字符串,然后按回车键,编辑程序将执行正向

搜索(从光标所在的位置向文件末尾方向),并在找到指定字符串后,将光标停在该字符串的

-44- 嵌入式Linux系统开发与应用实验教程

开头;键入n命令可以继续执行搜索,找出这一字符串下次出现的位置,用字符“?”取代“/”,可以实现反向搜索(从光标所在的位置向文件开头方向)。

(9) 存盘/退出命令

:w —保存到文件,存盘不退出。 :q!—放弃任何改动而退出,即强行退出。 :w!—对于只读文件强行存档。 :wq—存档并退出vi。

:#,# w 文件名—保存文件的部分内容。这里的 #,# 就是顶端行号和底端行号。

(10) 在线帮助命令

VIM拥有一个细致全面的在线帮助系统。要启动该帮助系统,请选择如下三种方法之一: ◆ 按下 键 (如果键盘上有的话) ◆ 按下 键 (如果键盘上有的话) ◆ 输入 :help <回车>

输入 :q <回车> 可以关闭帮助窗口。

如果要在vi执行期间,转到shell执行,可使用(!)将执行系统命令。例如,在vi的命令状态,列出当前目录内容,可以输入:

:!ls

注意:在文本编辑模式下,不能输入命令,必须先按下Esc键,返回命令模式。假如用户不知身处何态,也可以按下Esc键,这时不管处于何态,都会返回命令模式。

3.1.5 VIM新增功能

VIM意为VI Improved,与vi 99%向下兼容,而且VIM提供了许多vi不具备的功能,内置了诸多函数,因此建议大家熟悉了vi的基本操作以后,不妨转向VIM。选择一款好的编辑器是进行高效编程的第一步,VIM以其强大的功能和无穷魅力将提升在Linux下编程的效率。下面介绍VIM新增功能及特点。

● VIM支持语法制导和自动缩进。VIM会根据文件的后缀名,如:*.c、*.cpp、*.cc,等,自动设置语法制导(Syntax Highlighting)。C/C++中的一些保留字,如:if、for、include,等等,就会有不同的颜色,这样就会减少程序员犯错的可能,阅读程序的时候相对来说也轻松很多。VIM也支持根据GNU的风格自动缩进,这样程序员编写出来的代码就更易阅读,而且也有利于培养好的编程风格。

● VIM有一套优秀的语法高亮机制。利用这一机制可帮你找到程序中存在的错误。语法高亮用特殊的颜色来显示注释,你可以快速发现哪些部分应该是一个注释. 但是并没有被语法高亮指出来。对程序员来说,忘记注释的结束标记*/是很正常的事,这在只有黑白两色

第3章 Linux下应用程序开发基础 -45-

的文本中可不是一件省油的事。没有正确匹配的括号也可被语法高亮指出。一个没有被正确匹对的括号\会被一个亮红色的背景特别指出。你可以使用 \命令看一看它应该跟谁匹配,然后在正确的位置补上一个。

● VIM提供了快速定位的功能。如果你找到一个变量并且想找出这个变量还在其它哪些地方出现,可以使用“*”命令,它查找下一个匹配的目标。 如果你设置了incsearch选项,VIM将会以反白显示出第一个被找出的匹配。如果你设置了hlsearch选项,Vim将会高亮显示所有查找到的匹配,这种策略可以让你对要查找的内容有一个概括的了解,如果你在程序代码中使用这一功能,它能显示出所有引用某个变量的地方。

● VIM提供了一个补全机制。当输入一个比较长的函数名或变量名时,只要输入前几个字符,然后通过按下CTRL-N键,VIM的补全机制就会补全剩下的字符。这个功能不仅节省了你输入程序的时间,还减少了手工输入代码时出错的机会。

● 使用tags文件快速跳转到函数定义处。在写C程序时,经常要花时间找到一个函数的定义,在上面提到用“*”命令可以查找这个函数名都在哪些地方出现过,但在你到达真正的目标之前,可能还有符合你的查找条件的很多个匹配(如注释中出现的该函数)干扰你。VIM提供了一个Ctags程序,可以帮助编程人员很容易的浏览源代码。用下面的命令可以在源代码的根目录下创建“tags”文件:

[/home/brimmer/scr]# ctags -R

“-R表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。“tags”文件中包括用#define定义的宏、枚举型变量的值、函数的定义、名字空间、类型定义、变量、类等对象的列表。VIM用这个“tags”文件来定位那些做了标记的对象。定位这些对象的方法如下:

① 用命令行。在运行VIM的时候加上“-t”参数,例如:

vim -t foo_bar

这个命令将打开定义“foo_bar”(变量或函数或其它)的文件,并把光标定位到这行。 ② 在VIM编辑器内用“:ta”命令,例如:

:ta foo_bar

③ 最方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl-]”,用“Ctrl-o”返

回原来的地方。

注意:运行VIM的时候,必须在“tags”文件所在的目录下运行。否则,运行VIM的时候还要用“:set tags=”命令指出“tags”文件的路径,这样VIM才能找到“tags“文件。

● VIM提供了它自己的“:make”命令。在VIM编辑器的环境下用“:make ”命令就可以编译你的程序项目,捕获编译的错误/警告并允许你直接跳转到引起这一错误/警告的程序行上去。(前提是在当前目录下有Makefile文件。)运行完“:make”之后,如果程序中有错误,就会显示出来,这时候,光标会自动指向第一个出现错误的地方,而且你还可以看到错误提示。然后,你就可以改正错误。

-46- 嵌入式Linux系统开发与应用实验教程

3.2 集成开发工具KDevelop

3.2.1 Kdevelop的简介

Kdevelop是一套功能强大的集成开发环境,其整合了开发程序所需的编译器、连接器、除错工具、版本控制工具等,可以用Kdevelop快速地建立各式各样的应用程序。Kdevelop基于X-Window系统,界面友好,程序员在一个环境中就可以完成分析、设计、编译、调试、运行等整个流程,尽管KDevelop源于KDE/Qt,但并不局限于KDE/Qt,它同时还支持GNOME/gtk+、传统字符界面C/C++开发,KDevelop为快速地开发C/C++应用程序提供强有力的开发工具。

3.2.2 启动Kdevelop

如果是第一次使用Kdevelop,Kdevelop会先启动“Kdevelop设置”,进行Kdevelop的环境设定,共需要完成9个步骤的设置工作,如图3-1所示。

图3-1 Kdevelop设置 图3-2 选择语法高亮风格

单击―Kdevelop设置欢迎画面对话框中的【下一步】按钮开始进行Kdevelop的设定。Kdevelop设置的第二项设定为“选择语法高亮风格”,这里选择缺省的“Kdevelop 2.0 风格”,如图3-2所示。

选择喜欢的语法高亮表示风格后,单击【下一步】按钮进入“用户交换界面模式”的选择窗口,如图3-3所示。

同样选择好用户交换界面模式后,单击【下一步】按钮进入“Kdevelop中所使用的工具检测窗口”,如图3-4所示。


Linux下应用程序开发基础 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:父亲的习惯更容易影响宝宝成长

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: