您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Red Hat9.0学习参考:Linux编程基础
第9章Linux程序设计基础本章学习目标通过对本章的学习,读者应该掌握以下主要内容:ØLinux编程风格ØLinux下IDE的使用ØLinux下使用GNUcc开发应用程序ØLinux程序的调试ØLinux下使用RCS/CVS来管理源程序ØLinux下软件打包9.1概述9.1.1Linux编程Linux软件开发一直在Internet环境下讲行。这个环境是全球性的,编程人员来自世界各地。只要能够访问Web站点,就可以启动一个以Linux为基础的软件项目。Linux开发工作经常是在Linux用户决定共同完成一个项目时开始的。当开发工作完成后,该软件就被放到Internet站点上,任何用户都可以访问和下载它。由于这个活跃的开发环境,新的以Linux为基础的软件功能日益强大,而且呈现爆炸式的增长态势。大多数Linux软件是经过自由软件基金会(FreeSoftwareFoundation)提供的GNU(GNU即GNU’snotUNIX)公开认证授权的,因而通常被称作GNU软件。GNU软件免费提供给用户使用,并被证明是非常可靠和高效的。许多流行的Linux实用程序如C编译器、shell和编辑器都是GNU软件应用程序。Linux程序需要首先转化为低级机器语言即所谓的二进制代码以后,才能被操作系统执行。例如编程时,先用普通的编程语言生成一系列指令,这些指令可被翻译为适当的可执行应用程序的二进制代码。这个翻译过程可由解释器一步步来完成,或者也可以立即由编译器明确地完成。shell编程语言如BASH、TCSH、GAWK、Perl、Tcl和Tk都利用自己的解释器。用这些语言编制的程序尽管是应用程序文件,但可以直接运行。编译器则不同,它将生成一个独立的二进制代码文件然后才可以运行。9.1.2Linux编程风格(1)函数返回类型说明和函数名分两行放置,函数起始字符和函数开头左花括号放到最左边。(2)尽量不要让两个不同优先级的操作符出现在相同的对齐方式中,应该附加额外的括号使得代码缩进可以表示出嵌套。(3)按照如下方式排版do-while语句:(4)每个程序都应该以一段简短的说明其功能的注释开头。(5)请为每个函数书写注释,说明函数是做什么的,需要哪些入口参数,参数可能值的含义和用途。如果用了非常见的、非标准的东西,或者可能导致函数不能工作的任何可能的值,应该进行特殊说明。如果存在重要的返回值,也需要说明。(6)不要声明多个变量时跨行,每一行都以一个新的声明开头。(7)当一个if中嵌套了另一个if-else时,应用花括号把if-else括起来。(8)要在同一个声明中同时说明结构标识和变量或者结构标识和类型定义(typedef)。先定义变量,再使用。1.GNU风格(9)尽量避免在if的条件中进行赋值。(10)请在名字中使用下划线以分割单词,尽量使用小写;把大写字母留给宏和枚举常量,以及根据统一惯例使用的前缀。例如,应该使用类似ignore_space_change_flag的名字;不要使用类似iCantReadThis的名字。(11)用于表明一个命令行选项是否给出的变量应该在选项含义的说明之后,而不是选项字符之后被命名。2.Linux内核编程风格(1)Linux内核缩进风格是8个字符。(2)Linux内核风格采用K&R标准,将开始的大括号放在一行的最后,而将结束的大括号放在一行的第一位。(3)命名尽量简洁。不应该使用诸如ThisVariableIsATemporaryCounter之类的名字。应该命名为tmp,这样容易书写,也不难理解。但是命名全局变量,就应该用描述性命名方式,例如应该命名“count_active_users()”,而不是“cntusr()”。本地变量应该避免过长。(4)函数最好短小精悍,一般来说不要让函数的参数多于10个,否则应该尝试分解这个过于复杂的函数。(5)通常情况,注释说明代码的功能,而不是其实现原理。避免把注释插到函数体内,而写到函数前面,说明其功能,如果这个函数的确很复杂,其中需要有部分注释,可以写些简短的注释来说明那些重要的部分,但是不能过多。9.2IDE使用9.2.1VIM编辑器1.VIM的简介VI是Linux世界里最常用的全屏编辑器,所有的Linux机器都提供该编辑器,而Linux里提供的是VI的加强版——VIM,但同VI是完全兼容。VI的原意是“visualinterface”,即可视编辑器,用户键入的内容会立即被显示出来、而且其强大的编辑功能可以同任何一种最新的编辑器相媲美。它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据需要对其进行定制,这是其他编辑程序所没有的。VI不是一个排版程序,不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。2.VIM的基本观念VIM有三种操作方式,分别是:•命令方式•插入方式•命令行方式3.VIM的进入与离开在系统提示符“$”下键入命令VIM,后面跟上想要编辑(或者建立)的文件名,VIM可以自动载入所要编辑的文件或是开启一个新文件。VIM的退出,可以在命令行方式下使用命令“:wq”或者“:q!”,前者的功能是写文件并从VIM中退出,后者的功能是从VIM中退出,但不保存所作的修改(注意冒号)。4.VIM的命令方式(1)光标移动要对正文内容进行修改,必须先把光标移动到要修改的内容所在的位置,用户除了通过按键盘的上、下、左、右箭头键来移动光标,还可以利用VIM提供的众多字符组合键,在正文中移动光标,迅速达到指定的行或列,实现定位,常用的快捷键有:表9-1(2)替换和删除将光标定位于文档中指定位置后,可以用其他字符替换光标所指向的字符,或从当前光标位置删除一个或多个字符,常用命令有:表9-2(3)粘贴和复制在VIM编辑器中,与Windows系统不同的是从正文中删除的内容(如字符、字段或行)并没有真正丢失,而是被剪贴并复制到了一个内存缓冲区中,用户可将其粘贴到正文中的任意位置,完成这一操作的命令是:表9-3(4)查找字符串为了方便文档的编辑,VIM提供了强大的字符串查找功能,要查找文件中指定字符或字段出现的位置,可以用该功能直接进行搜索,搜索方法是:在命令行键入字符“/”,后面加上要搜索的字符串,然后按回车键,编辑程序将执行正向搜索(从光标所在的位置向文件末尾方向),并在找到指定字符串后,将光标停在该字符串的开头;键入n命令可以继续执行搜索,找出这一字符串下次出现的位置,用字符“?”取代“/”,可以实现反向搜索(从光标所在的位置向文件开头方向),举例说明如下:表9-5(5)撤销和重复在编辑文档的过程中,可以取消错误的编辑命令造成的后果,另外,如果用户希望在新的光标位置再次执行先前的编辑命令,可用重复命令。表9-65.VIM的插入方式(1)进入插入方式在命令方式下正确定位光标之后,可用一下命令切换到插入方式:表9-7如果用户想利用已有的文件内容,可以使用命令“:ifilename”,则VIM将指定文件的内容输入当前光标的下一行,且VIM仍处于命令方式。(2)退出插入方式退出插入方式的方法是,按ESC键或组合键Ctrl+I(3)正文替换除了几种简单的切换到插入方式的方法外,还有一些命令允许用户在插入模式之前首先删去一段文字,从而实现正文的替换,这些命令包括:表9-86.VIM的命令方式(1)行号与文件编辑中文档的每一行正文都有隐藏的行号,用下列命令可以移动光标到指定行:表9-9在命令方式下,用户可以规定命令操作的行号范围,数值用来指定绝对行号;字符“,”表示光标所在行的行号;字符“$”表示正文最后一行的行号,示例如下:表9-10在命令方式下,用户还可以对文件进行操作,允许从文件中读取正文,或将正文写入文件,常用命令如下:表9-119.2.1VIM编辑器1.emacs的简介emacs文本编辑器可以用来编辑文本、剪辑和粘贴文本内容、提供个人日历和日记,阅读Usenet新闻、发送电子邮件,同时还是一种程序语言解释器,可以编辑C、Lisp、Tev源代码文件、以及Linux的Shell。emacs是由RichardStallman发明的,这位发明者还创建了自由软件基金会(FreeSoftwareFoundation,简称FSF)。最初的emacs是用来编辑宏命令的,现已进一步扩充为UNIX用户中装机用户数量最大、功能最齐全的免费文本编辑器了。emacs同VI不一样,没有编辑状态和指令状态之分,其最重要的概念是其独特的缓冲区,emacs编辑的所有文件都是放在缓冲区中的,emacs支持同时编辑多个缓冲区,可以将一个文件在多个缓冲区中打开不同的拷贝,甚至其所有的在线帮助和文档以及出错信息都是作为一个缓冲区来显示的,当然这些缓冲区是不可写的,用户可以在这些缓冲区之间拷贝和粘贴文本。并且一般所有的缓冲区在硬盘上都有一个以“#”开头的备份文件,这样在系统突然崩溃的时候可以即时将用户的工作进行备份。在编辑文件时,如果用户在编辑一些特殊类型的文件,例如当用户编辑扩展名为.c的C语言文件时,emacs会产生菜单选项c,向用户提供一些针对编辑c程序特别有用的一些命令。当用户编辑扩展名为.txt的文件则会多出菜单选项tex,让用户在编辑完tex文件后可以即时地观看输出并打印。首先介绍一下几个常见的键盘操作符号的意义:所有的emacs的操作键都是由Control键(一般是键盘上的Ctrl键)和META键(一般是键盘上的Alt键)加上一些键的组合组成的,如果没有Alt键,则可以用输入一个Esc,再输入相应的键来代替。例如:ØC-x:表示同时按住Ctrl键和x键。ØCx:表示先按住Ctrl键,然后释放它,再按下x键。ØM-x:表示同时按住Alt键和x键。ØMx:表示先按住Alt键,释放它,再按下x键。2.emacs的启动和退出emacs可以用两种方法启动。第一种启动emacs的方法是不装载任何文本文件启动emacs,输入以下命令行:#emacs在屏幕上会出现无任何文本emacs编辑窗口,如图9-2所示。如果用户是初学者,最好的学习方法是:按下Ctrl-h键(即按住Ctrl键后不放,再按下h字母键),就会自动进入emacs的联机帮助,在屏幕底部emacs命令行中会出现一个提示符,这时再按下字母键t和回车键,便进入了简捷有效的emacs文本编辑器的教程。参照此教程的步骤,用户将对如何使用emacs有个概括的了解。第二种启动emacs的方法是通过装载某一个文本文件启动emacs,输入以下命令行:#emacsfilename如果装载的文件不在当前目录时必须输入该文件名的全称(包括所在目录)。例如,当前目录下有一个文本文件myfile.txt,用emacs对其编辑时,输入命令行启动emacs:#emacsmyfile.txt屏幕上将出现如图9-3所示的emacs编辑窗口。3.emacs的基本操作(1)光标的移动下面列出emacs中的光标的移动情况及其键盘操作:ØM-b:光标移动到光标左边的单词的开始处。ØM-f:光标移动到光标右边的单词的开始处。ØM-a:光标移动到当前句子的开始处。ØM-e:光标移动到当前句子的结束处。ØC-n:光标移动到下一行。ØC-p:光标移动到上一行。ØC-a:光标移动到行首。ØC-e:光标移动到行尾。ØM-:光标移动到文件尾。ØM-:光标移动到文件头。(2)文本的操作①插入文本的操作②删除文本的操作③取消操作④粘贴操作⑤查找和替换(3)文件的操作C-xC-f:在屏幕底部出列“Findfile:/_”等待用尸输入文件名,如输入“/myfile.txt”则提示(newfile),清屏后光标出现在左上角,等待用户输入文本的内容。C-xC-s:当将文本输入完毕后选择存盘操作,屏幕底部提示出文本所在的目录及文件名“/myfile.txt”,指示出该文件存放在磁盘何处。C-xC-w:当对一个原有的文本文件继续编辑或修改后;需将改变后的文件重新保存。这时emacs会提示“/myfile.txt”e
本文标题:Red Hat9.0学习参考:Linux编程基础
链接地址:https://www.777doc.com/doc-3789107 .html