linux编程环境

linux编程环境

ID:33925822

大小:615.68 KB

页数:34页

时间:2019-03-01

linux编程环境_第1页
linux编程环境_第2页
linux编程环境_第3页
linux编程环境_第4页
linux编程环境_第5页
资源描述:

《linux编程环境》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Linux编程环境2011-09课程内容Linux开发环境•编辑器——VI•编译工具——GCC•代码调试工具——GDB•项目管理工具——Make编辑器—VI•visualinterface,可视化编辑器•vi可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制.•只是一个文本编辑器,不能排版•vi没有菜单,只有命令VI的工作模式命令模式在该模式下可以通过移动光标进行“删除字符”、“字符串查找”,也可以完成“复制”,“粘贴”与“剪切”的操作,但无法编辑文字。

2、在shell下输入“VI”或“VI文件名”就进入了命令模式。1、移动光标•移动光标h、j、k、l:分别控制光标左、下、上、右移一格。•^:移动到行首;$:移动到行尾;•Ctrl+b:上滚一屏。•Ctrl+f:下滚一屏。•Ctrl+d:下滚半屏。•Ctrl+u:上滚半屏。•G:移到文件最后。nG:移动第n行•w:移到下个字的开头。•b:跳至上个字的开头。2、删除x:删除当前光标所在后面一个字符。nx:删除当前光标所在后面n个字符。例如,5x表示删除5个字符。dd:删除当前光标所在行。ndd:删除当

3、前光标所在后面n行。例如,5dd表示删除自光标算起的5行。:n,md:删除从n行到第M行的内容例如,:1,12d表示删除自行1至行12的文字。X:删当前光标的左字符。D:删至行尾。3、复制yw:拷贝光标处的字到字尾至缓冲区。P:把缓冲区的资料贴上来。yy:拷贝光标所在之行至缓冲区。nyy:例如,5yy,拷贝光标所在之处以下5行至缓冲区。4.复原u:复原至上一操作。5.查找字符串/word:由首至尾寻找“word”字符串,按n可往下继续找。?word:由尾至首寻找“word”字符串,按N可往前继续

4、找。6.重复操作.:重复上一次的操作7.退出ZZ:保存推出输入模式追加命令:o:在当前光标所在行下新增一空行,并从行首开始输入文字;O:在当前光标所在行上新增一空行,并从行首开始输入文字。键入ESC键返回命令模式末行命令方式•在编辑方式下输入“:”,就进入末行模式:w存盘:q退出(在未做修改的情况下退出):wq存盘并退出:q!强行退出:wq!强行存盘退出:wfile将编辑的内容写到file文件中去:setnu:显示行号:n,ms/old/new/g将文件中第n行到m行内的所有的『old』改成『n

5、ew』GCC编译器•gcc是一个强大的工具集合,它包含了预处理器,编译器,汇编器,链接器等组件。它会在需要的时候调用其他组件。输入文件的类型和传递给gcc的参数决定了gcc调用具体的哪些组件。•对于开发者,它提供的足够多的参数,可以让开发者全面控制代码的生成,这对嵌入式系统级的软件开发非常重要GCC编译器(cont.)GCC编译流程GCC的编译流程分为4个步骤,分别为:(1)预处理(Pre-Processing);在该阶段,编译器分析处理源代码文件中的各种宏指令,如#include,#if等。(

6、2)编译(Compiling);在该阶段,GCC首先要检查代码的规范性、是否有语法错误等,在检查无误后,GCC把代码翻译为汇编语言。GCC编译器(cont.)(3)汇编(Assembling);在该阶段,编译器把编译生成的汇编代码转成二进制目标代码。(4)链接(Linking)。在该阶段,编译器把汇编阶段生成的二进制代码、程序中用到的库文件链接起来,生成可执行文件。函数库分为静态库和动态库。静态库:在链接时,静态库的文件代码会被拷贝到可执行文件中。动态库:链接时,动态库的代码不会被加入可执行文件

7、中,而是在程序被执行的时候加载。GCC编译器(cont.)GCC的常用选项GCC的命令行格式:gcc[options]infile….常用选项:-c编译为目标文件,不连接库-S编译为汇编代码-E预处理.预处理之后的代码将送往标准输出-Wwarn...设置警告,可以设置的警告开关很多,通常用-Wall开启所有的警告GCC编译器(cont.)-Olevel:设置优化级别,level可以是0,1,2,3或者s,默认为-O0,即不进行优化处理.-Dname=definition:在命令行上定义宏,有两种

8、方式,-Dname或者-Dname=definition.在命令行上设置宏定义的目的主要是为了在调试的时候设定一些开关,而在发布的时候再关闭或者打开这些开关即可,当然宏定义也用来对代码进行有选择地编译.另外也还有其他的一些作用.GCC编译器(cont.)-Uname取消宏定义name,作用和上面的正好相反.-Idir...把dir加到头文件的搜索路径中,而且gcc会在搜索标准头文件之前先搜索dir.-llibrary在连接的时候搜索library库.库是一些archieve文件--其成员是目标文

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。