第3章 Linux编程基础.ppt
《第3章 Linux编程基础.ppt》由会员分享,可在线阅读,更多相关《第3章 Linux编程基础.ppt(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1第三章 Linux下的C编程基础 本章主要介绍本章主要介绍LinuxLinux环境下环境下C C语言编程的语言编程的基本技能。主要内容包括:基本技能。主要内容包括:1.1.编辑器(编辑器(ViVi和和EmacsEmacs)的基本操作)的基本操作2.Gcc2.Gcc编译器的使用编译器的使用3.Gdb3.Gdb调试器的使用调试器的使用4.Makefile4.Makefile介绍介绍5.5.使用使用GNU GNU AutotoolsAutotools来生成来生成MakefileMakefile文文件、件、congfigurecongfigure文件。文件。2 23.1.1Vi编辑器编辑器3.1
2、.1ViVi是是Linux系统上的第一个全屏幕交互式系统上的第一个全屏幕交互式编辑程序。我们目前一般使用的是编辑程序。我们目前一般使用的是Vim(ViImproved)。)。3 33.1.1Vi编辑器编辑器一、一、Vi工作模式工作模式Vi有有3种工作模式,分别为命令行模式、种工作模式,分别为命令行模式、插入模式及底行模式插入模式及底行模式(1)命令行模式)命令行模式用户在用用户在用Vi编辑文件时,最初进入的模式编辑文件时,最初进入的模式为命令行模式。在该模式中,可以通过上为命令行模式。在该模式中,可以通过上下移动光标进行下移动光标进行“删除删除”、“复制复制”、“粘贴粘贴”等操作,但无法编辑文
3、字。等操作,但无法编辑文字。4 43.1.1Vi编辑器编辑器(2)插入模式)插入模式在命令行模式下,按在命令行模式下,按“I”或者或者“Insert”键都可以进入插入模式。在该模式下,用键都可以进入插入模式。在该模式下,用户可以进行文字的编辑输入。按户可以进行文字的编辑输入。按“Esc”键键可从插入模式切换到命令行模式。可从插入模式切换到命令行模式。(3)底行模式)底行模式在底行模式下,光标位于屏幕的底行。此时在底行模式下,光标位于屏幕的底行。此时用户可以进行文件保存或退出操作,也可用户可以进行文件保存或退出操作,也可以设置编辑环境,如查找字符串、列出行以设置编辑环境,如查找字符串、列出行号等
4、。号等。5 53.1.1Vi编辑器编辑器二、二、vi的基本操作的基本操作 1)1)进入进入进入进入vivi在系统提示符号输入在系统提示符号输入在系统提示符号输入在系统提示符号输入vivi及文件名称后,就进入及文件名称后,就进入及文件名称后,就进入及文件名称后,就进入vivi全屏幕编辑画面:全屏幕编辑画面:全屏幕编辑画面:全屏幕编辑画面:$vi$vimyfilemyfile 不过有一点要特别注意,就是您进入不过有一点要特别注意,就是您进入不过有一点要特别注意,就是您进入不过有一点要特别注意,就是您进入vivi之后,之后,之后,之后,是处于命令行模式(是处于命令行模式(是处于命令行模式(是处于命令
5、行模式(commandmodecommandmode),),),),您要切换到插入模式(您要切换到插入模式(您要切换到插入模式(您要切换到插入模式(InsertmodeInsertmode)才)才)才)才能够输入文字。初次使用能够输入文字。初次使用能够输入文字。初次使用能够输入文字。初次使用vivi的人都会想先用上下的人都会想先用上下的人都会想先用上下的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己左右键移动光标,结果电脑一直哔哔叫,把自己左右键移动光标,结果电脑一直哔哔叫,把自己左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入气个半死,所以进入气个半死,所以进入气个半
6、死,所以进入vivi后,先不要乱动,转换到后,先不要乱动,转换到后,先不要乱动,转换到后,先不要乱动,转换到插入模式(插入模式(插入模式(插入模式(InsertmodeInsertmode)再说吧!)再说吧!)再说吧!)再说吧!6 63.1.1Vi编辑器编辑器2)2)切换至插入模式(切换至插入模式(切换至插入模式(切换至插入模式(InsertmodeInsertmode)编辑文件)编辑文件)编辑文件)编辑文件 在命令行模式(在命令行模式(在命令行模式(在命令行模式(commandmodecommandmode)下)下)下)下按一下字母按一下字母按一下字母按一下字母i i就可以进入插入模式就可以
7、进入插入模式就可以进入插入模式就可以进入插入模式(InsertmodeInsertmode),这时候你就可以开始输),这时候你就可以开始输),这时候你就可以开始输),这时候你就可以开始输入文字了。入文字了。入文字了。入文字了。3)Insert3)Insert的切换的切换的切换的切换 您目前处于插入模式(您目前处于插入模式(您目前处于插入模式(您目前处于插入模式(InsertmodeInsertmode),),),),您就只能一直输入文字,如果您发现输错了字!您就只能一直输入文字,如果您发现输错了字!您就只能一直输入文字,如果您发现输错了字!您就只能一直输入文字,如果您发现输错了字!想用光标键往
8、回移动,将该字删除,就要先按一想用光标键往回移动,将该字删除,就要先按一想用光标键往回移动,将该字删除,就要先按一想用光标键往回移动,将该字删除,就要先按一下下下下ESCESC键转到命令行模式(键转到命令行模式(键转到命令行模式(键转到命令行模式(commandcommandmodemode)再删除文字。)再删除文字。)再删除文字。)再删除文字。7 73.1.1Vi编辑器编辑器4)退出退出vi及保存文件及保存文件在命令行模式(在命令行模式(commandmode)下,按一下:冒号键进入)下,按一下:冒号键进入Lastlinemode,例如:,例如::wfilename(输入(输入wfilena
9、me将文章以指定的文件名将文章以指定的文件名filename保存)保存):wq(输入输入wq,存盘并退出,存盘并退出vi):q!(输入输入q!,不存盘强制退出不存盘强制退出vi)8 83.1.1Vi编辑器编辑器三、三、三、三、ViVi各模式的功能键各模式的功能键各模式的功能键各模式的功能键(1 1)命令行模式常用的功能键)命令行模式常用的功能键)命令行模式常用的功能键)命令行模式常用的功能键1 1)切换到插入模式)切换到插入模式)切换到插入模式)切换到插入模式 按按按按i i切换进入插入模式切换进入插入模式切换进入插入模式切换进入插入模式insertmodeinsertmode,按按按按ii进
10、入插入模式后是从光标当前位置开始输入进入插入模式后是从光标当前位置开始输入进入插入模式后是从光标当前位置开始输入进入插入模式后是从光标当前位置开始输入文件;文件;文件;文件;按按按按a a进入插入模式后,是从目前光标所在位进入插入模式后,是从目前光标所在位进入插入模式后,是从目前光标所在位进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;置的下一个位置开始输入文字;置的下一个位置开始输入文字;置的下一个位置开始输入文字;按按按按o o进入插入模式后,是插入新的一行,从进入插入模式后,是插入新的一行,从进入插入模式后,是插入新的一行,从进入插入模式后,是插入新的一行,从行首开始输入文
11、字。行首开始输入文字。行首开始输入文字。行首开始输入文字。2 2)从插入模式切换为命令行模式)从插入模式切换为命令行模式)从插入模式切换为命令行模式)从插入模式切换为命令行模式 按按按按ESCESC键。键。键。键。9 93.1.1Vi编辑器编辑器3 3)移动光标)移动光标)移动光标)移动光标 vivi可以直接用键盘上的光标来上下左右移动,但正规的可以直接用键盘上的光标来上下左右移动,但正规的可以直接用键盘上的光标来上下左右移动,但正规的可以直接用键盘上的光标来上下左右移动,但正规的vivi是用小写英文字母是用小写英文字母是用小写英文字母是用小写英文字母h h、j j、k k、l l,分别,分别
12、,分别,分别控制光标左、下、上、右移一格。控制光标左、下、上、右移一格。控制光标左、下、上、右移一格。控制光标左、下、上、右移一格。按按按按ctrlctrl+b b:屏幕往:屏幕往:屏幕往:屏幕往 后后后后 移动一页。移动一页。移动一页。移动一页。按按按按ctrlctrl+f f:屏幕往:屏幕往:屏幕往:屏幕往 前前前前 移动一页。移动一页。移动一页。移动一页。按按按按ctrlctrl+u u:屏幕往:屏幕往:屏幕往:屏幕往 后后后后 移动半页。移动半页。移动半页。移动半页。按按按按ctrlctrl+d d:屏幕往:屏幕往:屏幕往:屏幕往 前前前前 移动半页。移动半页。移动半页。移动半页。按数
13、字按数字按数字按数字0 0:移到光标所在行的:移到光标所在行的:移到光标所在行的:移到光标所在行的 行首行首行首行首“按按按按GG:移动到文章的最后。:移动到文章的最后。:移动到文章的最后。:移动到文章的最后。按按按按$:移动到光标所在行的:移动到光标所在行的:移动到光标所在行的:移动到光标所在行的 行尾行尾行尾行尾。按按按按:移动到光标所在行的:移动到光标所在行的:移动到光标所在行的:移动到光标所在行的 行首行首行首行首按按按按ww:光标跳到下个字的开头:光标跳到下个字的开头:光标跳到下个字的开头:光标跳到下个字的开头 按按按按e e:光标跳到本字的字尾:光标跳到本字的字尾:光标跳到本字的字
14、尾:光标跳到本字的字尾 按按按按b b:光标回到上个字的开头:光标回到上个字的开头:光标回到上个字的开头:光标回到上个字的开头10103.1.1Vi编辑器编辑器4 4)删除文字)删除文字)删除文字)删除文字 x x:每按一次,删除光标所在位置的:每按一次,删除光标所在位置的:每按一次,删除光标所在位置的:每按一次,删除光标所在位置的 后面后面后面后面 一个字符。一个字符。一个字符。一个字符。#x#x:例如,:例如,:例如,:例如,6x6x表示删除光标所在位表示删除光标所在位表示删除光标所在位表示删除光标所在位置的置的置的置的 后面后面后面后面66个字符。个字符。个字符。个字符。XX:大写的:大
15、写的:大写的:大写的XX,每按一次,删除光标所在位,每按一次,删除光标所在位,每按一次,删除光标所在位,每按一次,删除光标所在位置的置的置的置的 前面前面前面前面 一个字符。一个字符。一个字符。一个字符。#X#X:例如,:例如,:例如,:例如,20X20X表示删除光标所在表示删除光标所在表示删除光标所在表示删除光标所在位置的位置的位置的位置的 前面前面前面前面2020个字符。个字符。个字符。个字符。dddd:删除光标所在行。:删除光标所在行。:删除光标所在行。:删除光标所在行。#dddd:从光标所在行开始删除:从光标所在行开始删除:从光标所在行开始删除:从光标所在行开始删除#行行行行 1111
16、3.1.1Vi编辑器编辑器5)复制)复制yw:将光标所在之处到字尾的字符:将光标所在之处到字尾的字符复制到缓冲区中。复制到缓冲区中。#yw:复制:复制#个字到缓冲区个字到缓冲区yy:复制光标所在行到缓冲区。:复制光标所在行到缓冲区。#yy:例如,:例如,6yy表示拷贝从表示拷贝从光标所在的该行光标所在的该行往下数往下数6行文字。行文字。p:将缓冲区内的字符贴到光标所在:将缓冲区内的字符贴到光标所在位置。注意:所有与位置。注意:所有与y有关的复制命令都有关的复制命令都必须与必须与p配合才能完成复制与粘贴功能。配合才能完成复制与粘贴功能。12123.1.1Vi编辑器编辑器6)替换)替换r:替换光标
17、所在处的字符。:替换光标所在处的字符。R:替换光标所到之处的字符,直到:替换光标所到之处的字符,直到按下按下ESC键为止。键为止。7)回复上一次操作)回复上一次操作u:如果您误执行一个命令,可以马:如果您误执行一个命令,可以马上按下上按下u,回到上一个操作。按多次,回到上一个操作。按多次u可以执行多次回复。可以执行多次回复。13133.1.1Vi编辑器编辑器8)更改)更改cw:更改光标所在处的字到字尾处:更改光标所在处的字到字尾处c#w:例如,:例如,c3w表示更改表示更改3个字个字9)跳至指定的行)跳至指定的行ctrl+g列出光标所在行的行号。列出光标所在行的行号。#G:例如,:例如,15G
18、,表示移动光,表示移动光标至文章的第标至文章的第15行行首。行行首。14143.1.1Vi编辑器编辑器(2)底行模式下常用的命令)底行模式下常用的命令在使用在使用lastlinemode之前,请记住之前,请记住先按先按ESC键确定您已经处于键确定您已经处于commandmode下后,再按:冒下后,再按:冒号即可进入号即可进入lastlinemode。15153.1.1Vi编辑器编辑器1)列出行号列出行号setnu:输入:输入setnu后,会在后,会在文件中的每一行前面列出行号。文件中的每一行前面列出行号。setnonu2)跳到文件中的某一行跳到文件中的某一行#:#号表示一个数字,在冒号后号表示
19、一个数字,在冒号后输入一个数字,再按回车键就会跳到该行输入一个数字,再按回车键就会跳到该行了,如输入数字了,如输入数字15,再回车,就会跳到文,再回车,就会跳到文章的第章的第15行。行。16163.1.1Vi编辑器编辑器3)查找字符查找字符/关键字:先按关键字:先按/键,再输入您想键,再输入您想寻找的字符,如果第一次找的关键字不是寻找的字符,如果第一次找的关键字不是您想要的,可以一直按您想要的,可以一直按n会往后寻找到会往后寻找到您要的关键字为止。您要的关键字为止。?关键字:先按关键字:先按?键,再输入您想键,再输入您想寻找的字符,如果第一次找的关键字不是寻找的字符,如果第一次找的关键字不是您
20、想要的,可以一直按您想要的,可以一直按n会往前寻找到会往前寻找到您要的关键字为止。您要的关键字为止。17173.1.1Vi编辑器编辑器4)保存文件保存文件w:在冒号输入字母:在冒号输入字母w就可以将就可以将文件保存起来。文件保存起来。5)离开离开viq:按:按q就是退出,如果无法离开就是退出,如果无法离开vi,可以在,可以在q后跟一个后跟一个!强制离开强制离开vi。wq:一般建议离开时,搭配:一般建议离开时,搭配w一一起使用,这样在退出的时候还可以保存文起使用,这样在退出的时候还可以保存文件。件。18181 1emacsemacs的简介的简介的简介的简介 emacsemacs文文文文本本本本编
21、编编编辑辑辑辑器器器器可可可可以以以以用用用用来来来来编编编编辑辑辑辑文文文文本本本本、剪剪剪剪辑辑辑辑和和和和粘粘粘粘贴贴贴贴文文文文本本本本内内内内容容容容、提提提提供供供供个个个个人人人人日日日日历历历历和和和和日日日日记记记记,阅阅阅阅读读读读UsenetUsenet新新新新闻闻闻闻、发发发发送送送送电电电电子子子子邮邮邮邮件件件件,同同同同时时时时还还还还是是是是一一一一种种种种程程程程序序序序语语语语言言言言解解解解释释释释器器器器,可可可可以以以以编编编编辑辑辑辑C C、LispLisp、TevTev源源源源代代代代码码码码文文文文件件件件、以以以以及及及及LinuxLinux的
22、的的的ShellShell。emacsemacs是由是由是由是由 RichardStallmanRichardStallman发明的,这发明的,这发明的,这发明的,这位发明者还创建了自由软件基金会(位发明者还创建了自由软件基金会(位发明者还创建了自由软件基金会(位发明者还创建了自由软件基金会(FreeFreeSoftwareFoundationSoftwareFoundation,简称,简称,简称,简称FSFFSF)。最初的)。最初的)。最初的)。最初的emacsemacs是用来编辑宏命令的,现已进一步扩充为是用来编辑宏命令的,现已进一步扩充为是用来编辑宏命令的,现已进一步扩充为是用来编辑宏命
23、令的,现已进一步扩充为 UNIXUNIX用户中装机用户数量最大、功能最齐全的免费用户中装机用户数量最大、功能最齐全的免费用户中装机用户数量最大、功能最齐全的免费用户中装机用户数量最大、功能最齐全的免费文本编辑器了。文本编辑器了。文本编辑器了。文本编辑器了。3.1.2Emacs编辑器编辑器1919emacsemacs同同同同VIVI不一样,没有编辑状态和指令状态不一样,没有编辑状态和指令状态不一样,没有编辑状态和指令状态不一样,没有编辑状态和指令状态之分,其最重要的概念是其独特的缓冲区,之分,其最重要的概念是其独特的缓冲区,之分,其最重要的概念是其独特的缓冲区,之分,其最重要的概念是其独特的缓冲
24、区,emacsemacs编辑的所有文件都是放在缓冲区中的,编辑的所有文件都是放在缓冲区中的,编辑的所有文件都是放在缓冲区中的,编辑的所有文件都是放在缓冲区中的,emacsemacs支持支持支持支持同时编辑多个缓冲区,可以将一个文件在多个缓冲区同时编辑多个缓冲区,可以将一个文件在多个缓冲区同时编辑多个缓冲区,可以将一个文件在多个缓冲区同时编辑多个缓冲区,可以将一个文件在多个缓冲区中打开不同的拷贝,甚至其所有的在线帮助和文档以中打开不同的拷贝,甚至其所有的在线帮助和文档以中打开不同的拷贝,甚至其所有的在线帮助和文档以中打开不同的拷贝,甚至其所有的在线帮助和文档以及出错信息都是作为一个缓冲区来显示的
25、,当然这些及出错信息都是作为一个缓冲区来显示的,当然这些及出错信息都是作为一个缓冲区来显示的,当然这些及出错信息都是作为一个缓冲区来显示的,当然这些缓冲区是不可写的,用户可以在这些缓冲区之间拷贝缓冲区是不可写的,用户可以在这些缓冲区之间拷贝缓冲区是不可写的,用户可以在这些缓冲区之间拷贝缓冲区是不可写的,用户可以在这些缓冲区之间拷贝和粘贴文本。并且一般所有的缓冲区在硬盘上都有一和粘贴文本。并且一般所有的缓冲区在硬盘上都有一和粘贴文本。并且一般所有的缓冲区在硬盘上都有一和粘贴文本。并且一般所有的缓冲区在硬盘上都有一个以个以个以个以“#”开头的备份文件,这样在系统突然崩溃的开头的备份文件,这样在系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 Linux编程基础 Linux 编程 基础
限制150内