欢迎来到天天文库
浏览记录
ID:33441871
大小:496.51 KB
页数:57页
时间:2018-05-24
《linux课件_2-4linux编程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、linux编程基础Linux程序设计基础本章学习目标通过对本章的学习,读者应该掌握以下主要内容:ØLinux编程风格ØLinux下使用GNUcc开发应用程序ØLinux程序的调试1.概述1.1Linux编程Linux软件开发一直在Internet环境下讲行。这个环境是全球性的,编程人员来自世界各地。只要能够访问Web站点,就可以启动一个以Linux为基础的软件项目。Linux开发工作经常是在Linux用户决定共同完成一个项目时开始的。当开发工作完成后,该软件就被放到Internet站点上,任何用户都可以访问和下载它。由于这个活跃的开发环境,新的以Linux为基
2、础的软件功能日益强大,而且呈现爆炸式的增长态势。大多数Linux软件是经过自由软件基金会(FreeSoftwareFoundation)提供的GNU(GNU即GNU’snotUNIX)公开认证授权的,因而通常被称作GNU软件。GNU软件免费提供给用户使用,并被证明是非常可靠和高效的。许多流行的Linux实用程序如C编译器、shell和编辑器都是GNU软件应用程序。Linux程序需要首先转化为低级机器语言即所谓的二进制代码以后,才能被操作系统执行。例如编程时,先用普通的编程语言生成一系列指令,这些指令可被翻译为适当的可执行应用程序的二进制代码。这个翻译过程可由解
3、释器一步步来完成,或者也可以立即由编译器明确地完成。shell编程语言如BASH、TCSH、GAWK、Perl、Tcl和Tk都利用自己的解释器。用这些语言编制的程序尽管是应用程序文件,但可以直接运行。编译器则不同,它将生成一个独立的二进制代码文件然后才可以运行。1.GNU风格(1)函数返回类型说明和函数名分两行放置,函数起始字符和函数开头左花括号放到最左边。(2)尽量不要让两个不同优先级的操作符出现在相同的对齐方式中,应该附加额外的括号使得代码缩进可以表示出嵌套。(3)按照规定方式排版do-while语句:(4)每个程序都应该以一段简短的说明其功能的注释开头。
4、(5)请为每个函数书写注释,说明函数是做什么的,需要哪些入口参数,参数可能值的含义和用途。如果用了非常见的、非标准的东西,或者可能导致函数不能工作的任何可能的值,应该进行特殊说明。如果存在重要的返回值,也需要说明。(6)不要声明多个变量时跨行,每一行都以一个新的声明开头。(7)当一个if中嵌套了另一个if-else时,应用花括号把if-else括起来。(8)要在同一个声明中同时说明结构标识和变量或者结构标识和类型定义(typedef)。先定义变量,再使用。(9)尽量避免在if的条件中进行赋值。(10)请在名字中使用下划线以分割单词,尽量使用小写;把大写字母留给
5、宏和枚举常量,以及根据统一惯例使用的前缀。例如,应该使用类似ignore_space_change_flag的名字;不要使用类似iCantReadThis的名字。2.Linux内核编程风格(1)Linux内核缩进风格是8个字符。(2)Linux内核风格采用K&R标准,将开始的大括号放在一行的最后,而将结束的大括号放在一行的第一位。(3)命名尽量简洁。不应该使用诸如ThisVariableIsATemporaryCounter之类的名字。应该命名为tmp,这样容易书写,也不难理解。但是命名全局变量,就应该用描述性命名方式,例如应该命名“count_active_
6、users()”,而不是“cntusr()”。本地变量应该避免过长。2.Vi的使用vi提供了一些功能强大的但容易记忆的命令供用户使用。类似这样的编辑任务在vi中可以轻松高效完成。编辑命令命令功能[N]x(Expurgate)删除从光标位置开始的连续N个字符(并复制到编辑缓冲区)[N]dd(Delete)删除从光标位置开始的连续N行(并复制到编辑缓冲区)[N]yy(Yank)复制从光标位置开始的连续N行到编辑缓冲区p(Put)从编辑缓冲区复制文本到当前光标位置(即粘贴)u(Undo)取消上一次操作(即恢复功能)光标命令命令功能h方向键,向左移动光标一个字符的位置
7、,相当于键“←”j方向键,向下移动光标到下一行的位置,相当于键“↓”k方向键,向上移动光标到上一行的位置,相当于键“↑”l方向键,向右移动光标一个字符的位置,相当于键“→”:N移动光标到第N行(N待定)1G移动光标到文件的第1行G移动光标到文件的最后1行:setnumber设置显示行号:setnonumber取消显示行号文件命令命令功能:q(Quit)退出没有被修改的文件(若文件被修改了而没有保存,则此命令无效):q!强制退出,且不保存修改过的部分:w(Write)保存文件,但不退出:w!强制保存文件,但不退出:x(Exit)保存文件并退出:x!强制保存文件并
8、退出:wFile另存为File给出的文
此文档下载收益归作者所有