您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Linux从入门到提高-第18章--Linux下的编程
第18章Linux下的编程Linux下常用的开发工具Linux下的Vi文本编辑器Linux的C编译器——GCCLinux下的PHP编程本章小结目前,Linux系统主要为用户提供了GCC、CVS、Perl等几个常用的开发工具。GCC(GNUCompilerCollection)是目前Linux系统下使用最为广泛的编译器。GCC是一个编译器套装,它集成了C、C++、ObjectiveC、Fortran、Pascal、Java等语言编译器。GCC的不断发展和完善使许多商业编译器都相形见绌,由于UNIX平台的高度可移植性,GCC目前提供各种常见的类UNIX平台上的版本,而且还提供了Windows平台上的版本。18.1.1GCCCVS(ConcurrentVersionsSystem)是一个版本控制系统,不但能够在单机上使用,而且能够使多个开发者一起协同工作,对同一个项目进行操作。CVS的机制:首先保留一份最初源文件的拷贝,这个拷贝称作Repository(源代码档案库),此后,CVS控制源文件所有的处理,不再对最初的源文件进行处理,这样可以避免发布时开发者覆盖其他人改变的代码。18.1.2CVSPerl是一种解释性的高级程序语言,它汲取了C、sed、awk、Shell等十多种工具和语言中的精华,是目前最为流行的Web应用软件和CGI脚本开发工具。用Perl编写的程序不需要进行编译,可以直接运行,同时也很容易整合到其它系统之中,如Apache服务器。最重要的是它可以跨平台运行,同一个Perl程序可以在UNIX、Linux、Windows、DOS、Macintosh、OS/2等操作系统上运行。18.1.3PerlKylix是Borland公司推出的Linux平台上的一款强大的可视化开发工具,被称为Linux上的Delphi。对于开发人员而言,Kylix是一个把Delphi带到Linux系统上的强大、快速的应用程序开发工具,为Linux开发人员带来了快速开发的全新概念。Kylix将开发环境、交互式调试器、直观的可视化设计器、以及覆盖各种功能的组件集成在一起,使用户快速开发Linux应用程序成为可能。同时,Kylix还无缝集成了Borland的最优化编译器,可以快速编译高性能的应用程序。18.1.4Linux上的Delphi——KylixLinux系统提供了一套完整的编辑器系列,如Ed、Ex、Vi和Emacs等,按功能可以将它们划分为两类:行编辑器(Ed、Ex)和全屏幕编辑器(Vi、Emacs)。行编辑器每次只能对一行进行操作,使用起来不是很方便。而全屏幕编辑器则可以对整个屏幕进行编辑,用户编辑的文件直接显示在屏幕上,修改的结果可以立即看到,它克服了行编辑那种不直观的操作方式,便于用户学习和使用,具有强大的功能。18.2Linux下的Vi文本编辑器Vi是Linux系统的第一个全屏幕交互式编辑程序,从诞生至今一直受到广大用户的青睐,历经数十年仍然是人们主要使用的文本编辑工具,足见其生命力之强,而生命力源于其强大的文本编辑功能。18.2.1Vi编辑器介绍编辑模式命令模式普通模式Shell:Esci,a,...启动viZZq,q!,wq,...Linux系统提供的进入Vi编辑器界面的命令如下:vifilenamevi+nfilenamevi+filenamevi+/patternfilenamevi-rfilenamevifilename1....filenamen18.2.2启动Vi编辑器Vi编辑器中的很多命令都要用到行号和行数等数值。如果编辑的文件比较大时,直接去数是非常不方便的。为此Vi提供了给文本加行号的功能。这些行号显示在屏幕的左边,而相应行的内容则显示在行号之后。使用的命令为:在命令模式下输入命令::senu或::setnumber18.2.3显示Vi中的行号在全屏幕文本编辑器中,光标的移动操作无疑是最经常使用的操作了。用户只有熟练地使用光标移动命令,才能快速准确地到达期望的位置进行编辑。18.2.4光标移动操作光标当前位置向上向下向后向前lh+/Enterj-k1.滚屏命令Ctrl+uCtrl+d2.分页命令Ctrl+fCtrl+b3.状态命令Ctrl+g4.屏幕调零命令[行号]z[行数]回车[行号]z[行数].[行号]z[行数]_18.2.5屏幕命令在普通模式下用户输入的任何字符都被当作命令加以解释执行,如果用户要将输入的字符当作是文本内容时,则首先应将Vi编辑器的工作模式从普通模式切换到编辑模式。Vi提供了两个插入命令:i和I。附加(append)命令Vi提供了两个附加插入命令:a和A。18.2.6文本插入(insert)命令无论是insert命令,还是append命令,所插入的文本都是从当前行的某个位置开始的。如果希望在某行之前或某行之后插入一些新行,则应使用新行命令。Vi提供了两个新行命令:o和O。18.2.8新行(open)命令删除x、X、dd、D、d0、dw取消上一命令u、U重复命令.18.2.9文本修改命令当文件编辑完成之后,准备退出Vi编辑器返回到Shell时,可以使用以下几种方式:在普通模式中,连按两次大写字母Z在命令模式下,输入命令:q、:q!、wq18.2.10退出Vi编辑器GCC(GNUCCompiler)是GNU推出的功能强大、性能优越的多平台编译器,它是GNU的代表作品之一。GCC是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均高出20%~30%。18.3Linux的C编译器——GCCGCC在执行编译工作的时候,需要以下四个步骤:预处理,生成.i的文件,预处理器为cpp将预处理后的文件转换为汇编语言,生成文件.s,编译器为egcs将汇编语言文件转换为目标代码(机器代码),生成文件.o,汇编器为as连接目标代码,生成可执行程序,链接器为ld18.3.1GCC的编译过程gcc[选项][文件]选项:-xlanguage:指定源文件所使用的编程语言,使后缀名无效-c:编译或汇编源文件,但不进行连接,也就是只把程序编译为obj文件-S:编译后即停止,不进行汇编和连接,也就是只把程序编译为汇编文件-E:预处理后即停止,不进行编译、汇编及连接,要把它重定向到一个输出文件中-o:指定目标名称,默认情况下,GCC编译出来的可执行文件为a.out-pipe:使用管道代替编译中临时文件-includefile:包含某个文件中的代码,当某个文件需要另一个文件代码的时候,可以用该选项进行设定,它的功能相当于在代码中使用:#includefilename-imacrosfile:将file文件的宏,扩展到GCC的输入文件,宏定义本身并不出现在输入文件中18.3.2GCC的基本用法和常用选项gcc[选项][文件]选项:-Dmacro:相当于C语言中的#definemacro宏定义-Dmacro=defn:相当于C语言中的#definemacro=defn-Umacro:相当于C语言中的#undefmacro-undef:取消对任何非标准宏的定义-Idir:指定头文件所在的目录,GCC会先在所指定的目录中查找,如果没有找到,则再到默认的头文件目录中查找-idirafterdir:如果在-I选项指定的目录中查找失败,则在这里指定的目录中继续查找-nostdinc:一般与-I选项联合使用,使GCC不要在系统默认的头文件目录中查找头文件-C:在预处理过程中,不要删除注释信息,一般与-E联合使用,有时候分析程序,使用这个选项非常方便-M:生成文件关联信息,包含目标文件所依赖的所有源代码18.3.2GCC的基本用法和常用选项gcc[选项][文件]选项:-llibrary:指定编译时使用的库-Ldir:指定编译时搜索库的路径,例如使用自定义的库,可以用该选项指定其路径。否则,编译器将只在标准库的目录中查找-O0、-O1、-O2、-O3:编译器优化选项的四个级别,其中-O0表示没有优化,-O1为默认值,-O3的优化级别最高-g:指定编译器在编译时产生调试信息-static:该选项将禁止使用动态库,编译出来的文件一般都很大,但不需要动态连接库就可以运行-share:该选项将尽量使用动态库,编译出来的文件一般都比较小,但是需要系统提供动态连接库-w:禁止警告消息-Wall:显示所有的警告消息18.3.2GCC的基本用法和常用选项GDB是一个用来调试C和C++程序的调试器,使用它可以在程序运行时观察程序的内部状态,以及内存的使用情况。总体来讲,GDB具有如下几个主要的功能:监视程序中变量的值。通过设置断点使程序在指定的代码行上停止执行。单步执行程序代码。18.3.3使用GDB调试C程序命令:file:装入要调试的可执行文件kill:终止正在调试的程序list:列出正在调试的程序的源代码next:执行一行源代码,不进入函数内部step:执行一行源代码,进入函数内部run:执行当前被调试的程序quit:终止gdbwatch:监视一个变量的值而不管它何时被改变break:在代码里设置断点,使程序在执行到该处时被挂起make:不退出gdb的情况下,重新产生可执行文件shell:不退出gdb的情况下,执行Shell命令18.3.3使用GDB调试C程序在Linux系统中,make是一个非常重要的工具。不管是进行项目开发还是安装应用软件,用户都会经常用到make或makeinstall命令。利用make工具,可以将大型的开发项目分解为多个更易于管理的模块,分而治之。对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以非常方便地理顺各个源文件之间复杂的相互关系。18.3.4编写Makefile文件prog:filea.ofileb.ofilec.occfilea.ofileb.ofilec.o-LS-oprogfilea.o:filea.ca.hdefscc-cfilea.cfileb.o:fileb.cb.hdefscc-cfileb.cfilec.o:filec.cc.hcc-cfilec.c18.3.4编写Makefile文件PHP(HypertextPreprocessor,超文本预处理器)是一种HTML内嵌式的语言,类似IIS上的ASP,用来生成动态网页。PHP独特的语法混合了C、Java、Perl、以及PHP式的新语法,可以比CGI或Perl更快速地执行动态网页。18.4Linux下的PHP编程PHP和Apache服务器紧密结合PHP具有强大的数据库功能PHP作为一种能快速学习、跨平台、有良好数据库交互能力的开发语言PHP具有良好的安全性18.4.1PHP简介PHP的运行环境比较简单,用户只需要具备如下几个条件即可:Web服务器PHP软件18.4.2配置运行环境HTMLHEADTITLE?phpechoThisisatest;//网页的标题?/TITLE/HEADBODYH1FirstPHPpage/H1HR?php$friend=myfriend;echoHelloWorld!;//显示的字符串echo$friend;?/BODY/HTML18.4.3一个简单的PHP例子18.4.3一个简单的PHP例子18.5本章小结本章主要知识点:Linux系统下常用的开发工具Vi编辑器的基本使用方法熟练使用GCC编译器Linux系统下PHP的简单编程
本文标题:Linux从入门到提高-第18章--Linux下的编程
链接地址:https://www.777doc.com/doc-7945043 .html