Linux编程技术详解.doc

上传人:自*** 文档编号:126231298 上传时间:2020-03-23 格式:DOC 页数:6 大小:49KB
返回 下载 相关 举报
Linux编程技术详解.doc_第1页
第1页 / 共6页
Linux编程技术详解.doc_第2页
第2页 / 共6页
Linux编程技术详解.doc_第3页
第3页 / 共6页
Linux编程技术详解.doc_第4页
第4页 / 共6页
Linux编程技术详解.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Linux编程技术详解.doc》由会员分享,可在线阅读,更多相关《Linux编程技术详解.doc(6页珍藏版)》请在金锄头文库上搜索。

1、索引号:TP316.81/232.6.4 Linux平台下VMware WorkStation的安装(P24)x:extract的缩写,表示解压v:verbose的缩写,表示解压过程信息z:解压gzip格式文件f:force的缩写,表示强制,如果解压过程中出现问题,依然进行解压。如果要将某个目录打包成tar文件,可以使用“tar cvf 文件名”命令,其中,c(create)表示创建文件。tar xzf setup.tar.gz #解开setup.tar.gz,不显示解压过程为什么要使用./可执行文件名来运行当前目录下的可执行文件?出现安全性的考虑,Linux不把当前路径加入环境变量PATH中

2、。su - #表示切换到管理员账号,同时把将shell环境也切换到管理员登录shell下。mkdir hdb1 #创建名为hdb1的目录。2.8 远程连接Linux服务器(P40)具体操作参见P40P432.8.4 开放X Window远程访问服务(P43)如果要在Windows平台登录Linux的图形化界面,必须在Linux系统上开放相关服务,并在Windows系统上安装相关软件。如果要使Fedora Core或Ubuntu开放X Window服务,需要修改两个配置文件。1)修改/etc/X11/xdm/Xaccess文件,将其中的“#*#any host can get a login w

3、indow”语句句去除注释,即修改为“*#any host can get a login window”。2)修改usr/share/gdm/defaults.conf(Fedora Core版本中)文件中将xdmcp中的Enable设置为true。(具体参见P44)使用“netstat an |grep 177”确认服务是否成功开启。2.8.5 在Window系统中登录Linux图形用户界面(P44)需要在本地安装一个X服务器,目前,使用较为广泛的是在Windows系统上安装Xmanage软件。具体操作参见P44P453.1 文本编辑器:vi(P50)Vim是Vi Improved的缩写。

4、输入“i”或“a”(大小写不限)可以进入插入模式或进入末行模式。按“Esc”键退出插入模式进入命令模式。3.1.3 vi编辑器的基本操作(P50)vi支持使用键盘方向键和h、j、k、l键实现光标的移动(“h”键或向左方向键,“i”键或向上方向键,“j”键或向下方向键,“l”键或向右方向键)。vi支持一些快捷移动方式如下:(1):将光标定位到当前句的开关位置。要将光标移动到句子的开关,可以在命令模式下输入“”。(2)$:将光标移动到当前句的结束位置。(3)nG:n表示要移动光标的行号,即第几行,该快捷方式可以将光标快速移动到指定行。(4)G:将光标移动到最后一行。(5)Ctrl+F:F表示For

5、ward,向前翻动一页。(6)Ctrl+B:B表示Backward,向后翻动一页。(7)Ctrl+U:U表示Up,向前翻动半页。(8)Ctrl+D:D表示Down,向后翻动半页。3.1.4 末行模式下的常用命令(P52)在命令模式下输入“:”将进入末行模式。(1)w:保存文件。(2)e文件名:打开该文件进行编辑。(3)x:保存当前文件并退出。(4)q:退出Vi(5)q!:不保存修改,强制退出。3.1.6 搜索及替换命令(P52)(1)/pattern:从光标所在处搜索到文件结束位置,查找所有符合pattern的字符。(2)?pattern:从光标所在处搜索到文件开始位置,查找所有符合patte

6、rn的字符。(3)n:重复上一次查找。(4)N:在相反的方向重复上一次查找。(5):1,$s/old/new/g:将文件中所有的old字符替换成new字符,命令中“1”表示文件开关,“$”表示文件结束。(6):n,ms/old/new/g:将第n行和第m行之间的old字符都替换成new字符。(7):s/old/new/g:将当前行中的所有old字符替换成new字符。3.1.7 Vi加密文件(P53)当使用“vi x文件名“时,进入vi将要求输入密码。其他编辑器同样无法打开vi加密过的文件。在进入vi后,如果想对文件加密,在命令模式下输入“:X”即可。3.1.8 在Vi中打开语法加亮和启用自动缩

7、进功能(P53)1.语法加亮有两种方法打开语法加亮选项:1)在末行模式下输入“syntax on”2)修改/etc/vimrc文件将其中的“syntax on“前面的引号去掉即可。2.自动缩进使用“:set cindent”命令来启动自动缩进。3.6 源代码阅读工具:SlickEdit(P68)(可以考虑下载)具体安装操作参见P68P703.8 Linux下的C/C+编译器(P71)GCC不仅支持C语言,还支持Ada,C+,Java,Objective C,Pascal,COBOL等开发语言。GCC的编译过程分为预处理、生成汇编代码、生成目标代码和链接成可执行文件等4个步骤。使用GCC编译代码

8、时,可以通过参数控制其编译过程,让其停止在上述4个步骤之一。3.8.3 使用GCC编译C代码(P72)“gcc 代码文件名”,这时生成的二进制可执行文件名称为a.out。也可以指定输出的文件名称,这时编译命令就变成了“gcc o 代码文件名”。/gcc o executable_filename source_filegcc o p3 p3.c #gcc根据给出的可执行文件名,生成了可执行文件。GCC还支持显示编译过程的所有信息,使用参数v即可以显示GCC的工作整个过程。例如:gcc v o p3 p3.c使用GCC编译C+代码与编译C程序代码类似,惟一不同的就是要将gcc换成g+。3.8.5

9、 使用GCC控制编译过程(P74)1.预处理该步骤完成宏和include展开工作。在GCC中使用参数E可以控制GCC只完成预处理,而不进行其他编译工作。例如:/使用参数E控制GCC只完成预处理,而不进行其他编译工作。/使用参数o指定预编译后生成的文件名为p3.pre.cgcc E o p3.pre.c p3.c #生成名为p3.pre.c的文件2. 生成汇编代码编译器将预处理生成的代码进行处理,并根据编译参数进行优化,最后生成汇编代码。GCC使用参数S可以控制只完成编译的前两步。/使用参数S控制GCC只完成预编译和生成汇编代码过程/这里将生成名为p3.s的汇编代码gcc S p3.c #生成p

10、3.s的汇编代码3. 生成目标代码目标代码生成阶段是把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码。GCC中使用参数c完成预编译、生成汇编代码和生成目标代码。/使用参数c控制GCC完成预编译、生成汇编代码和生成目标代码过程gcc c p3.c #生成了p3.o目标代码4. 链接生成最终可执行代码gcc o p3 p3.c3.9 应用GNU Make实现项目管理(P76)Make只编译改动的代码文件,而不用完全编译。3.9.1 GUN Make介绍(P76)Make根据一定的规则对项目的源文件进行编译,并生成可执行的二进制文件。Make通过读入配置好的文本文件,并根据

11、文本文件中预先定义的规则和步骤,完成代码的编译和链接工作,最终生成所需要的项目文件,这个文本文件在缺省情况下文件名为makefile或Makefile。Make程序的命令形式是“make选项、目标.”,支持选项如表3.1所示:表3.1 Make程序支持的命令选项-b或-m忽略兼容性-B或-always-make无条件编译所有目标-d打印调试信息-e或-environment-overrides在makefile中不替换环境变量的值-f FILE或-file=FILE或-makefile=FILE指定FILE文件为makefile-h或-help显示make命令帮助信息-i或-ignore-er

12、rors忽略命令中的错误信息-I DIRECTORY或-include-dir=DIRECTORY搜索指定目录中的makefile文件-k或-keep-going即使某些目标无法编译,仍然继续编译工作-o FILE,-old-file=FILE或assume-old=FILE即使这些文件已经做过修改但仍然不编译该文件-p或-print-data-base打印make的内部数据库信息-r或-no-builtin-rules禁用编译中的隐式规则-s或silent或-quiet不显示编译中的命令-v或-version显示make命令的版本号当用户输入make命令后,Make将首先搜索该目录下时候存在

13、makefile。如果没有找到,则搜索名为makefile的文件,最后查找名为Makefile的文件。3.9.2 简单makefile示例使用vim编写makefile文件,内容如下:p3:p3.cgcc o p3 p.c将makefile文件保存在p3.c所在的同一目录,在shell中输入“make”,就可以对p3.c进行编译。注意:在第二行的开头是tab字符,make中规定每一shell命令之前的开头必须使用字符,如果只是使用几个空格的话,会得到下面的提示:makefile:2:*遗漏分隔符。停止make会把后面的语句交给Shell来解释,其他的则由make自己来解释。3.9.3 make

14、file的语法(P78)makefile有严格的语法规定:1)变量定义:和C语言类似,这些变量是区分大小写的。可以使用变量定义来指定具体的编译器参数,或保存要生成的文件名列表。2)基于依赖关系的指令:指明要编译成功某个文件,需要编译的代码文件。除了可以在makefile文件中定义变量外,还可以在makefile中使用一些预先设定的变量,如表3.2所示。表3.2 makefile支持的预定义变量及其意义变量名含义$表示当前规则中的目标文件名$?新修改过的依赖文件列表$*不包含扩展名的目标文件名$当前规则中的第一个依赖文件名$%当目标文件为库文件时,该变量为库文件名;如果不是库文件,该变量为空值$

15、当前规则中的所有文件列表AR归档程序名称,默认为ARARFLAGS归档程序选项CCC编译器命令名,默认为CCCFLAGSC编译器编译参数基于依赖关系的指令区:p3:p3.cgcc o p3:p3.c第一行的p3被称为目标,而冒号后的p3.c为依赖文件。也就是说,生成目标p3依赖于冒号后的p3.c文件,在makefile中将这种形式的语句称为规则,规则的具体规定如下:目标(可能存在多个目标):依赖文件(可能存在多个条件)命令(在makefile中,TAB后的命令将交给Shell来解释)目标通常可以取为要生成的文件名,依赖条件是用来输入从而产生目标的文件,一个目标可以有几个依赖。注意:目标还可以是某个动作,如果常使用make编译程序,一定注意在编译后,可以使用“make clean”将中间生成的的文件做必要的清理。这时,目标

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号