ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:183.11KB ,
资源ID:21049214      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21049214.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LINUX系统工具vim和gccWord文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LINUX系统工具vim和gccWord文档格式.docx

1、$光标移到本行行尾n光标下移n行nG光标移到第n行X删除光标所在位置的前一个字符x删除光标所在位置的字符nx删除光标所在位置及其后的n 个字符nX删除光标所在位置及前n个字符dd删除光标所在行ndd删除光标之后n行R修改光标所在位置的字符,可以一直替换,直到按下Esc键r修改光标所在字符/name查找光标之后name的字符串,系统会自动查找,并突出显示所有找到的字符串,并转到第一个找到的字符串;如果要继续向下查找,可以按n键;向上查找按N键?name查找光标之后name的字符串,与“/”类似,但它是向上查找name字符串查找“”,并将光标移到“”处yy复制所在行nyy复制光标之后n行P将复制的

2、内容粘贴到光标所在位置u撤销最近一次操作,并恢复操作结果,可多次使用u来恢复已经进行了多步的操作U撤销当前进行的所有的操作(文件自上次保存到现在的操作)3.32.末行模式w写文件,将编辑的内容保存到文件系统w!如果是只读文件,强制写入文件q!退出vi,但是文件内容有修改的话,并不保存修改wq!保存内容并退出vi/查找匹配的字符串,在编辑时,要查找包含某个字符串,可以使用“/字符串”,会查找所有的,转到第一个字符加载新文件,e创建新文件3.41.编辑多个文件vi 文件1 文件2 文件Nn(next) 进入下一个文件rew 进入首文件args 当前缓冲区所存的文件的文件名3.42.分割窗口spli

3、t 上下分割(可加文件名)vsplit 左右分割(可加文件名)ctrl+w 光标到下一个窗口close :quit 关闭窗口3.43用户命令模式Vimdiff 文件名 文件名 左右分割vi -r 文件名 断电恢复3.44.定义新命令ab 字符一 字符串一imap 快捷键 需要替换的字符串3.4.5.文本整体移动默认为8,用set进行设置n,n 右n,n 左n m k n,原目的行;m,(move)移动;k,第k行下方n,n m k n,n,原目的行;3.5高级使用Vi环境(m)set 功能选项(输入全拼)首先使用.bash_profile文件,每个文件可以有自己的.exrc配置文件。aiaut

4、oindent选项把每一行缩排为与其上一行的行首对齐,默认为offapautoprint默认为onsmshowmatch在输入右圆括号时,显示匹配的左括号。默认为offnmnumber显示行号。Wm=nwrapmargin定义右边距。n为整数。默认为0reportreport编辑操作改变的次数,导致信息出现在状态行。默认为5smdshowmode给出相关命令时,显示“插入”。wsWord search在查找期间遇到结束符时,绕道开头继续查找。默认为oneberrorbells命令错误会报警。redaw发生变化时刷新。warn修改缓冲区内容后未保存,显示警告信息。fl输入无效命令,发出声音;fl

5、ash不再发出;noflash发出。默认onlistvi中的Tab用“1”表示,用“$”表示每行结束。icignorecase区分大小写搜索,noignorecase不区分大小写。warp较长行。wrap后自动换行,nowrap不自动换行。默认为On3.5.2语法高亮显示/root/.vimrc 对文件进行高亮设置的配置文件。export TERM=xterm-color3.5.3.正则表达式斜杠/定界符,表示表达式的开始和结束句点.匹配任意单个字符,该字符可以代替其后任何单个字符。/s.d/,点代表任意字符;/.ping/,代表任意字符。方括号用来表示匹配括号中的任意一个字符,其中需要指出的

6、是,在括号中出现“-”表示一段范围,如a-z表示可以匹配到所有小写字母,a-zA-Z可以匹配小写和大写,0-9可以匹配0-9的任意数字。除外,表示匹配除括号中字符的所有字符,取括号中字符的补集。例如,/taeoik/可以匹配到tak、tik、tek等字符;/bookpu.k/可以匹配到boook、bokek、boulk等字符;/pa-z.s/可以匹配到paus、pkks、pu7s、prss等字符;/715ui9h/匹配到71h/7uh/7ih;/k0-9k/匹配到k9k、k7k、k3k等字符;/ka-zj/匹配到kZj、kSj、k%j、k6j等字符。唯独不能匹配到中间字符是小写字母的字符串。星

7、号*匹配0个或多个字符,如,/ab*c/匹配到abc、abbbbbc、akloic、a*95c等字符;/a-z*/匹配任意以小写字母开头的句子、单词或字符串;/t*ing/匹配到tkling、tping、t56ing。反斜杠转义字符,把紧跟其后的第一个原字符当做普通文字对待,除第一个以外都保持其原来的含义。/sound*/可匹配到包含sound*的行;/ba-zk/匹配含有b-a-zk/;/s*aa-z*ing/匹配到s*aissing、s*akddssding、s*ajkoplling等。匹配所有括号中的单词,不仅表示每行包含该文字符即可,而要包含单词。wth表示所有行中包含单词wth的行;

8、sum表示所有行中包含sun的行。匹配一行的开始。/f/表示匹配所有以f作为开头的行;“#/a-z/”表示匹配所有以#作为一行开头。并且第二个字符为小写的行。$符号$匹配一行的结束,其使用格式是在指定的字符后面加$行。如,/wth$/,表示所有以wth字符结尾的行;/A-Z$/表示匹配所有以大写字母结尾的行。由于正则表达式必须与定位命令、全局命令一块儿使用,才能显示其强大。3.5.4行号和范围确定光标。指明行号。末行模式下。n1,n2n1行到n2行.光标所在行%最后一行全选。第一行到最后一行+n相对当前行,“.,.+10”向后的10行-n相对当前行,“.,. - 5”向前的5行3.5.5全局命

9、令1.addr g /字符串/ 命令让系统在指定的行中进行搜索字符串所在行,使用命令操作。g:全局,对包含字符串的指定行进行相应的命令操作,通常有:p(显示)、g(替换)、d(删除)格式中的g表示进行对选定的行进行操作;末行的g表示替换。2.替换addr s /源字符串/目的字符串/ 选项S:表示替换工作。选项表示对字符串操作的类型,当省略选项时,对每行第一个匹配串进行替换。有:对全局的字符串替换、c:对全局要替换的字符进行确认、p:将替换的结果逐行显示(ctrl+L可恢复)。命令操作说明g/字符串/p显示所有带有“字符串”的行g!/字符串/p显示所有不带有“字符串”的行n1,n2g/字符串/

10、p显示从n1到n2中,所有带“字符串”行g/字符串/d删除所有带有“字符串”的行/字符串/d删除所有不带有“字符串”的行g/字符串 1/s/字符串2/用“字符串2”全文替换“字符串1”,但每行只替换第一个“字符串1”g/字符串 1/s/字符串 2/g用“字符串2”全文替换“字符串1”s/字符串1/字符串2用“字符串2”替换当前行第一个“字符串1”s/字符串1/字符串2/g用“字符串2”替换当前行所有“字符串1”%s/字符串1/字符串2/%s/字符串1/字符串2/gg/字符串1/s/字符串2/字符串3/g表示在所有包含“字符串1”的行中,把“字符串2”用“字符串3”代替3.5.6.执行shell

11、命令 使用vi时,执行shell程序的方法通常有3种:返回式、退出式、执行式。1、返回式。末行模式sh输入shell命令exit(退出shell)。2、退出式。末行模式!command回车输入shell命令(加!)回车(退出shell)。3、执行式。末行模式r输入shell命令回车回车。软件开发工具GCC7.4.编译基础流程和选项 四个步骤:预处理(pre-processing)、编译(compiling)、汇编(assembling)、连接(linking)。在处理过程中,C预编译器首先扩展宏定义和相应的头文件,在编译阶段根据源文件的指令创建汇编语言代码;然后使用汇编器创建计算机可读的目标文

12、件代码,每个源文件代码都会创建一个目标代码;在编译最后一个阶段,连接器搜索指定的函数库,找到程序中使用的函数,并将这些函数的目标代码和所有的源文件目标代码合并在一起。编译过程中,使用合适的编译选项,可以控制编译过程,最后生成可执行。GCC支持的编译源文件的后缀及解释:后缀名对应的语言种类后期可能进行的操作.cC语言源程序预处理、编译、汇编、链接.C / .cc / .cxxC+语言源程序.mObjective-C语言源程序.i预处理后的C文件编译、汇编、链接.ii预处理后的C+文件.s / .S汇编语言源程序汇编、链接.o目标文件程序链接.a / .so编译后的库文件.h预处理所需的文件GCC

13、编译器使用的主要格式为:GCC选项 要编译的文件 选项目标文件如:GCC -E hellogcc.c -o hellogcc.i7.4.1.预处理过程就是要对源程序中出现的伪指令(以#开头;宏定义、条件编译、头文件包含、特殊符号)和特殊字符进行处理的过程。其具体过程就是把包含“#”的文件插入原文中,将宏展开,根据条件编译命令选择要使用的代码,把源文件变为一个没有宏定义、没有条件编译指令、没有特殊字符的文件,最后将代码生成一个 .i 的文件中,等待下一步处理过程。如程序hellogcc.c:gcc -E hellogcc.c -o hellogcc.i7.4.2.程序编译过程主要目标是用预处理过

14、程产生的指令生成汇编语言代码。新文件中只包含常量、变量以及关键字的信息。GCC编译器首先检查代码的规范性、可读性以及是否存在错误,检查无误后,把C/C+代码或者 .i 文件翻译成汇编代码。如程序hellogcc.i:gcc -S hellogcc.i -o hellogcc.s7.4.3.汇编过程把汇编代码翻译成格式正确的机器代码。在汇编语言中,用助记符代替操作码,用地址符号代替地址码,因此,使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种程序叫汇编程序,GCC是系统软件中可以进行汇编处理的系统软件。如程序hellogcc.s:gcc -c hellogcc

15、.s -o hellogcc.o7.4.4.链接过程将上步生成的一个或多个 .o 目标文件盒函数库文件结合起来,最终生成在特定平台上的可执行文件。函数库:静态库和动态库。如程序hellogcc.o:gcc -o hellogcc hellogcc.c7.5GCC编译高级操作及选项7.5.1.常规操作选项选项解释-X language输入文件的语言language-E只进行预处理-S只进行编译-c只进行汇编-o file输出的文件指定到file中,可以输出汇编文件、目标文件、可执行文件-v打印出编译器内部编译各个过程的命令行信息和编译器版本7.5.2.警告提示功能对程序结构的诊断信息,不一定有错

16、误,而是存在风险,可能存在错误。-fsyntax-only检查语法错误,不产生输出信息-w禁止所有警告信息-Wunused如果某个局部变量除了声明就没再使用,或者声明了静态函数但是没哟定义,或者某条语句的运算结果显然没有使用,编译器就发出警告-Wmain把main函数声明或定义成奇怪的类型-Werror视警告为错误,出现任何警告就放弃编译-Wredundant-decls同一个可见域定义多次声明-Wall允许GCC提供所有有用的报警信息-pedantic-error允许发出ANSI C标准所列出的全部信息gcc -Wall -o hellogcc hellogcc.c7.5.3.代码调试产生调

17、试信息,方便后面gdb和gprof工具的调试和执行。说明-g产生调试信息,GDB能够使用这些调试信息对程序进行排错-pg产生额外代码,输出profile信息,供分析程序gprof使用-gdwarflevel n生成调试信息,同时用level指出需要多少信息,默认的level值是2,level 1输出最少量的信息,仅包括函数和外部变量的描述,没有局部变量和行号信息。Level3包含更多的信息,出现的所有宏定义,支持宏扩展。7.5.5.链接功能-llibrary搜索library的库文件,连接器在标准搜索目录中寻找这个库文件,库文件的真正名字是library.a,连接器会把它当做文件名准确引用这个

18、文件。但是即使不使用这个选项,GCC也把默认的一些库链接进去。搜索目录除了一些系统标准目录外,还包括用户以“-L”选项指定的路径-nostartfiles不连接系统标准启动文件,而标准库文件仍然正常使用-object-file-name如果某些文件没有特别明确的后缀,GCC就认为他们生成的是目标文件或库文件-nostdilb不连接系统标准启动文件盒标准库文件,只把指定的文件传递给连接器-static在动态连接时,阻止连接共享库-shared生成一个共享目标文件,它可以和其它目标文件连接产生可执行文件。只有部分系统支持该选项-I 目录表示在头文件搜索路径中添加用户自定义的搜索目录。由于Linux

19、中头文件都默认放到“/usr/include”目录下,当用户希望添加其他位置的头文件时,就可以通过“-I dir”选项指定。这个选项在编译多个不在同一个目录下的文件时非常有用-L 目录在库文件的搜索路径中添加用户自定义的搜索的目录名,例如一个程序在连接时需要使用在目录“/home/wth”下libwth.so 的库,用户只需要在gcc命令中加入“-L/home/wth/libwth.so”如程序hellogcc.c,/home/wth目录下的wenjian2.h。把wenjian2.h在前,hellogcc.c 在后:gcc -I /home/wth -o hellogcc hellogcc.

20、c. / hellogcc7.6.1.程序性能测试gprof(与GCC协同工作)执行完毕后,在当前目录下生成gmon.out文件,gprof通过这个文件得出统计资料。格式:gprof 选项 应用程序 gmon.out Gcc会在用户应用程序中的每一个函数中加入一个名为mcount(或_mcount或_mcount)的函数-b不显示详细资料,只是简要信息-p函数的调用图-i统计总结信息-T传统的BSD格式输出-q函数的时间消耗列表-w width输出的宽度-e Name不输出函数Name及其子函数的调用图-f Name输出函数Name及其子函数的调用图-z从未使用过的函数信息-D忽略函数中未知的

21、变量用gprof查看全部输出信息函数名称%time函数使用占全部时间的百分比cumulative seconds函数累计执行的时间self seconds函数本身执行的时间calls函数被调用的次数Self call每次调用,花费在函数上的时间Total call每一次调用花费在函数及其子函数的平均时间如分析程序 eg604.c:gcc -pg -o eg604 eg604.c. / eg604gprof -b eg604 gmon.out7.6.2.程序覆盖测试工具gcov(与gcc协同工作)使用分三步:需要在gcc编译时添加-fprofile-arcs -ftest-coverage选项,运行结束后,在当前目录下生成数据信息执行编译的可执行文件使用gcov命令分析代码运行的效率。不添加这两个选项不能工作。Gcov 选项 用户程序分支的测试信息-hgcov帮助信息gcov版本信息不创建gcov的输出信息-f输出每个函数的使用信息分析程序score.c:gcc -fprofile-arcs -ftest-coverage -o score score.c

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1