第五节 Linux编程基础.pdf
文本预览下载声明
第5章 Linux程序设计基础
本章学习目标
通过对本章的学习,读者应该掌握以
下主要内容:
Ø Linux编程风格
Ø Linux下IDE的使用
Ø Linux下使用GNU gcc开发应用程序
Ø Linux程序的调试
Ø Linux下软件打包
5.1 概述
5.1.1 Linux编程
Linux软件开发一直在Internet环境下讲行。这个环境
是全球性的,编程人员来自世界各地。只要能够访问Web
站点,就可 以启动一个 以Linux为基础 的软件项 目。
Linux开发工作经常是在Linux用户决定共同完成一个项
目时开始的。当开发工作完成后,该软件就被放到
Internet站点上,任何用户都可以访问和下载它。由于
这个活跃的开发环境,新的以Linux为基础的软件功能日
益强大,而且呈现爆炸式的增长态势。
大多数Linux软件是经过自由软件基金会(Free
Software Foundation)提供的GNU(GNU 即 GNU’s not
UNIX)公开认证授权的,因而通常被称作GNU软件。GNU
软件免费提供给用户使用,并被证明是非常可靠和高效
的。许多流行的Linux实用程序如C编译器、shell和编辑
器都是GNU软件应用程序。
5.1.2 Linux编程风格
1.GNU风格
(1)函数返回类型说明和函数名分两行放置,函数起始字符和函数
开头左花括号放到最左边。
(2)尽量不要让两个不同优先级的操作符出现在相同的对齐方式中,
应该附加额外的括号使得代码缩进可以表示出嵌套。
(3)按照如下方式排版do-while语句:
(4 )每个程序都应该以一段简短的说明其功能的注释开头。
(5 )请为每个函数书写注释,说明函数是做什么的,需要哪些入口
参数,参数可能值的含义和用途。如果用了非常见的、非标准的东西,
或者可能导致函数不能工作的任何可能的值,应该进行特殊说明。如
果存在重要的返回值,也需要说明。
(6 )不要声明多个变量时跨行,每一行都以一个新的声明开头。
(7 )当一个if中嵌套了另一个if-else时,应用花括号把if-else括起来。
(8 )要在同一个声明中同时说明结构标识和变量或者结构标识和类
型定义(typedef) 。先定义变量,再使用。
(9)尽量避免在if的条件中进行赋值。
(10)请在名字中使用下划线以分割单词,尽量使用小写;把大写字
母留给宏和枚举常量,以及根据统一惯例使用的前缀。例如,应该使
用类似ignore_space_change_flag的名字;不要使用类似
iCantReadThis的名字。
(11)用于表明一个命令行选项是否给出的变量应该在选项含义的说
明之后,而不是选项字符之后被命名。
2.Linux 内核编程风格
(1)Linux内核缩进风格是8个字符。
(2)Linux内核风格采用KR标准,将开始的大括号放在一行的最后,
而将结束的大括号放在一行的第一位。
(3)命名尽量简洁。不应该使用诸如
ThisVariableIsATemporaryCounter之类的名字。应该命名为tmp,这
样容易书写,也不难理解。但是命名全局变量,就应该用描述性命名
方式,例如应该命名“count_active_users()”,而不是“cntusr()” 。
本地变量应该避免过长。
(4)函数最好短小精悍,一般来说不要让函数的参数多于10个,
否则应该尝试分解这个过于复杂的函数。
(5)通常情况,注释说明代码的功能,而不是其实现原理。避免把
注释插到函数体内,而写到函数前面,说明其功能,如果这个函数的
确很复杂,其中需要有部分注释,可以写些简短的注释来说明那些重
要的部分,但是不能过多。
5.2 IDE使用
5.2.1 VIM编辑器
1.VIM的简介
VI是Linux世界里最常用的全屏编辑器,所有的Linux机器都提供该编
辑器,而Linux里提供的是VI 的加强版——VIM ,但同VI是完全兼容。VI 的
原意是“visual interface”,即可视编辑器,用户
显示全部