实验三 vi编辑器及GCC编译器的使用
Linux的VI,GCC,GDB,Makefile等简单应用
![Linux的VI,GCC,GDB,Makefile等简单应用](https://img.taocdn.com/s3/m/7de7d58584868762caaed5a9.png)
hello:main.o func1.o func2.o
gcc main.o func1.o func2.o -o hello
等价于
hello:main.o func1.o func2.o
gcc $^ -o $@
&&&&&&&&&&&&&&&&&&&&&【杂项】&&&&&&&&&&&&&&&&&&&&&
-->".PHONY"将"clean"目标声明为伪目标
&&&&&&&&&&&&&&&&&&&&&【添加变量】&&&&&&&&&&&&&&&&&&&&&
例:
hello:main.o func1.o func2.o
gcc main.o func1.o func2.o -o hello
若采用变量,则:
x. -Wall 生成所有警告信息
xi. -w 不生成任何警告信息 例如:gcc -w hello.c -o hello
2020-Linux文版-实验3-Vi编辑器的使用及C编程-学生实验报告模板-P
![2020-Linux文版-实验3-Vi编辑器的使用及C编程-学生实验报告模板-P](https://img.taocdn.com/s3/m/bdf780466c85ec3a86c2c517.png)
实验报告课程名称: Linux操作系统实验名称:实验3 Vi编辑器的使用及C编程学生姓名:孙文浩班级计算机 141 学号学院(系):信息数理学院指导教师:庄丽华实验时间: 2016 年 9 月 30 日实验成绩:实验3 Vi编辑器的使用及C编程一、实验要求(1)掌握Vi的三种运行模式及切换方法;(2)掌握使用Vi的各种操作命令进行文本文件的编辑;(3)用Vi编写Linux下C程序,掌握gcc编译。
二、实验内容和实验步骤1、vi编辑器的使用【操作要求1】首先用合法用户名登陆系统,不保存直接退出。
【操作步骤】(1)在系统提示符下,输入vi,按回车键,进入vi的界面。
(2)输入:q!不保存直接退出。
【操作要求2】新建文件f1并编辑一段文字进行保存。
【操作步骤】(1)在系统提示符下输入vi f1,按回车键。
(2)看到vi的界面,输入i,左下角会出现“插入”。
(3)输入一段文字。
10 Basic Linux Networking and Monitoring Commands You Should KnowI have listed down 10 basic Linux networking and monitoring commands which eachLinux user should know. These Linux basic networking and monitoring commands like hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool are used for viewing the IP address of the Linux server, managing Linux server network adapter configuration, making network connections among Linux servers over telnet andethernet, Linux server information etc. Lets have a look on the following Linux networking and monitoring commands.(4)按Esc键,进入命令模式。
gcc编译器使用简明指南
![gcc编译器使用简明指南](https://img.taocdn.com/s3/m/c59f85f8ba4cf7ec4afe04a1b0717fd5360cb2b9.png)
gcc编译器使用简明指南gcc编译器使用简明指南1、简介1.1 编译器概述GCC(GNU Compiler Collection)是一个开源的编译器套件,支持多种编程语言,包括C、C++、Objective-C、Fortran、Ada等。
它是一个强大的编译器,被广泛用于开发各种类型的应用程序。
1.2 安装GCC可以在多个平台上进行安装,如Linux、Mac OS和Windows 等。
安装方法因平台而异,可参考相应的文档进行安装。
2、基本用法2.1 编译单个文件GCC的基本语法是:```gcc [选项] [文件名]```选项可以有很多,常用的包括:- `-o`:指定输出文件名- `-Wall`:显示警告信息- `-g`:调试信息- `-O`:优化级别示例:```gcc -o hello hello:c```以上命令将编译`hello:c`文件,并输出可执行文件`hello`。
2.2 编译多个文件如果项目中涉及多个源文件,可以使用以下方式进行编译:```gcc [选项] [文件1] [文件2] :::```示例:```gcc -o hello hello:c utils:c```以上命令将编译`hello:c`和`utils:c`,并输出可执行文件`hello`。
3、高级用法3.1 静态库和动态库GCC支持静态库和动态库,可以使用以下命令进行编译:```gcc [选项] [文件1] [文件2] ::: -o [输出文件] -L [库路径] -l [库名]```选项说明:- `-L`:指定库搜索路径- `-l`:指定要的库示例:```gcc -o hello hello:c -L /usr/lib -l ncurses```以上命令将编译`hello:c`并`ncurses`库,可执行文件`hello`。
4、调试选项GCC支持多种调试选项,可通过以下命令进行编译:```gcc [选项] [文件名] -g```选项说明:- `-g`:调试信息示例:```gcc -o hello hello:c -g```以上命令将编译`hello:c`并可执行文件`hello`,同时调试信息。
1、GCC编译器的使用
![1、GCC编译器的使用](https://img.taocdn.com/s3/m/b88b876302768e9951e73893.png)
linux下gcc编译器的使用1、文件后缀名.c C 源程序.C C++ 源程序.cc C++ 源程序.cxx C++ 源程序.m Objective –C源程序.i 预处理过的c源程序.ii 预处理过的C++源程序.s 组合语言源程序.S 组合语言源程序.h 头文件.o 目标文件.a 存档文件2、GCC常用选项-c 通知GCC取消链接步骤,即编译源码并在最后生成目标文件;-Dmacro定义指定的宏,使它能够通过源码中的#ifdef进行检验 #define-static 指定程序编译时采用静态编译的方法;-E 不经过编译预处理程序的输出而输送至标准输出;-g获得有关调试程序的详细信息,它不能与-o选项联合使用;-Idirectory在包含文件搜索路径的起点处添加指定目录;-llibrary提示链接程序在创建最终可执行文件时包含指定的库;-O、-O2、-O3将优化状态打开,该选项不能与-g选项联合使用;-S要求编译程序生成来自源代码的汇编程序输出;-v启动所有警报;-Wall发生警报时取消编译操作,即将警报看作是错误;-Werror在发生警报时取消编译操作,即把报警当作是错误;-w 禁止所有的报警。
目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。
GCC不仅功能非常强大,结构也异常灵活。
最值得称道的一点就是它可以通过不同的前端模块来支持各种语言,如Java、 Fortran、Pascal、Modula-3和Ada等。
开放、自由和灵活是Linux的魅力所在,而这一点在GCC上的体现就是程序员通过它能够更好地控制整个编译过程。
在使用GCC编译程序时,编译过程可以被细分为四个阶段:◆ 预处理(Pre-Processing)◆ 编译(Compiling)◆ 汇编(Assembling)◆ 链接(Linking)GCC起步在学习使用GCC之前,下面的这个例子能够帮助用户迅速理解GCC的工作原理,并将其立即运用到实际的项目开发中去。
实验3 vi工具的使用
![实验3 vi工具的使用](https://img.taocdn.com/s3/m/c7a306325901020207409c75.png)
实验3 利用vi编辑器运行C语言程序
一、实验要求
熟悉并掌握vi三种工作模式之间的转换方法。
掌握新建和保存文件,进行文本插入与删除的操作方法。
掌握编辑并运行C语言程序的方法。
二、实验内容
C语言运行时需要gcc编译器,提供了C,C++,JAVA等库函数。
1 查看gcc编译器是否安装
[root@localhost ~]# which gcc //如果提示/usr/bin/gcc说明已经安装,否则就没有安装
2 安装gcc编译器
方法(一):利用yum安装
配置yum源
[root@localhost ~]#cd /etc/yum.pos.d
[root@localhost yum.repos.d]# ll
总用量8
-rw-r--r--. 1 root root 125 4月7 21:58 packagekit-media.repo
-rw-r--r--. 1 root root 529 5月31 2012 rhel-source.repo
[root@localhost yum.repos.d]# vi rhel-source.repo //将该文件修改如下
在末行模式下保存并退出:wq
[root@localhost ~]# yum install gcc* //安装系统提供的全部语言的工具包
3 vi编辑hello.c并用gcc编译运行
[root@localhost ~]# vi hello.c //如果该文件存在,则进入该文件,否则,创建后进入
在末行模式下保存并退出:wq
4 卸载gcc文件
[root@localhost ~]# yum remove gcc*。
实验3 使用gcc编译器
![实验3 使用gcc编译器](https://img.taocdn.com/s3/m/e185b4df5022aaea998f0f3d.png)
实验三使用gcc编译器一.实验目的1、巩固vi的使用。
2、练习用Linux下gcc编译器运行c或c++程序。
3、练习使用make工具和调试工具gdb。
4、练习编写简单的c或c++程序。
二.实验内容用vi建立C++/C程序后,学习使用gcc编译器编译执行(命令格式详见实验指导书P100),查看结果。
1. helloworld程序。
2. 判断一个年份是平年还是闰年。
3. 打印九九乘法表。
三.实验步骤1、登陆Linux系统,操作方法请参考实验二。
2、使用vi编写helloworld.cpp程序(安装了vim的同学,可以输入vimhelloworld.cpp),保存。
程序代码如下:using namespace std;#include<iostream>int main(){cout<<”hello,world!\n”;return 0;}或编写helloworld.c程序,代码如下:#include<stdio.h>int main(){printf(“hello,world!\n”);return 0;}然后,利用g++ helloworld.cpp或gcc helloworld.c指令编译执行。
(如果没有任何输出提示,恭喜你,编译执行成功。
否则,会提示出错信息,请检查语法并修改。
)最后,在命令行输入 ./a.out 查看结果。
3、make工具在应用程序的开发过程中,若每次修改源文件都需要重新输入编译命令,这种做法很烦琐而且开发效率不高。
为了能快速组织源文件进行编译,linux中提供了make工具。
Make的运行过程前,必须编写Makefile文件。
它描述了软件包中文件之间的关系,提供更新每个文件的命令。
Make实验上是根据Makefile 来进行编译的。
以helloworld.c为例,编写makefile文件:helloworld:helloworld.ogcc –o helloworld helloworld.o(开头使用Tab键空格) helloworld.o:helloworld.cgcc –o helloworld.o –c helloworld.cclean:rm –f *.o hello然后,重新编译helloworld.c,命令:gcc –g helloworld.c –o helloworld 第三步,输入命令:make4、调试工具---gdb运行gdb调试程序通常的命令格式为:gdb 程序的文件名例如: gdb helloworld启动gdb调试工具后,进入gdb的调试界面。
实验三vi编辑器及GCC编译器的使用
![实验三vi编辑器及GCC编译器的使用](https://img.taocdn.com/s3/m/56aa114f49d7c1c708a1284ac850ad02de8007a6.png)
实验三vi编辑器及GCC编译器的使用实验三vi编辑器及GCC编译器的使用【实验目的】一、掌握文本编辑器vi的使用方法二、了解GNU gcc编译器三、掌握使用GCC编译C语言程序的方法【实验内容】一、vi的三种工作模式:1、命令模式:执行相关文本编辑命令2、输入模式:输入文本3、末行模式:实现查找、替换、保存、多文件操作等等功能二、进入vi,直接在Shell提示符下键入vi [文件名称],如果该文件在当前目录不存在,则vi创建之。
三、退出vi1、在命令模式下输入“:wq”,保存文件并退出vi2、若不需要保存文件,输入“:q”3、若文件已修改,但不保存,输入“:q!”强制退出vi4、其它一些不常用的方法在此省略。
四、命令模式下的常用编辑命令1、启动vi后,进入的是vi的命令模式2、按i键,进入输入模式,可以进行文本的编辑,在输入模式下,按esc 键,可切换回命令模式i:光标位置不变,可在光标左侧插入正文a:光标位置向后退一格,可在光标左侧插入正文o:在光标所在行的下一行增添新行O:在光标所在行的上一行增添新行I:光标跳到当前行的开头A:光标跳到当前行的末尾3、光标的移动k、j、h、l分别等同于上、下、左、右箭头键Ctrl+b,向上翻一页Ctrl+f,向下翻一页nH,将光标移到屏幕的第n行nL,将光标移到屏幕的倒数第n行4、删除文本nX,删除光标所指向的后n个字符D,删除光标右侧的所有字符(包括光标所指向的字符)db,删除光标左侧的全部字符ndd,删除当前行和当前行以后的n行内容5、粘贴和复制p,将缓冲区的内容粘贴到当前字符的右侧P,将缓冲区的内容粘贴到当前字符的左侧yy,复制当前行到内存缓冲区nyy,复制n行内容到内存缓冲区6、搜索字符串/str1,正向搜索字符串str1n,继续搜索str2,反向搜索字符串str27、撤销和重复u,撤销前一条命令的执行结果.,重复最后一条命令五、末行模式下的命令:n,将光标移动到第n行:nw file,将第n行写入file文件:n,mw file,将第n行至第m行写入file文件:w,将编辑的内容写入原始文件:wq,将编辑的内容写入原始文件并退出编辑程序:w file,将编辑的内容写入file文件,保持原有文件的内容不变:f file,将当前文件重命名为file :e file,编辑新文件file代替原有内容:f,打印当前文件的状态,如文件的行数,光标所在的行号等:!<命令>,执行相应shell命令六、三种工作模式的切换1、在Linux shell下,键入vi或vi <文件名>进入命令模式2、在命令模式下,键入:进入末行模式3、在命令模式下,键入文本编辑命令如i,a,o等进入文本输入模式4、在文本输入模式下,按esc键进入命令模式5、在末行模式下,按backspace键或del键进入命令模式6、在末行模式下,键入q或wq,退出vi,饭后到Linux shell下GCC编译器的使用一、使用vi或其它文本编辑器,输入C语言程序,并保存为test.c二、在Linux shell下,输入命令gcc –o test test.c三、编译正确后,输入命令./test运行程序,观察程序运行结果四、若编译错误,根据提示信息,进入程序查错,再回到第二步,直至程序语法无误。
实验3 使用vi编辑器
![实验3 使用vi编辑器](https://img.taocdn.com/s3/m/c01f02c9aa00b52acfc7cada.png)
实验三使用vi编辑器一.实验目的学习使用vi编辑器建立、编辑、显示以及加工处理文本文件。
二.实验内容1.进入和退出vi。
2.利用文本插入方式建立一个文件。
3.在新建的文本文件上移动光标。
4.对文本文件执行删除、复原、修改、替换操作。
三.实验步骤1.进入和退出vi<1>进入vi在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。
<2>退出vi在命令方式下可有几种方法退出vi编辑器::wq 把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到Linux shell 下。
:ZZ 仅当作过修改时才将缓冲区内容写到文件上。
:x 与:ZZ 相同。
:q! 强行退出vi。
感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容。
这样,先前对该文件所做的修改或输入都被抛弃。
2.新建文件<1>在Linux提示符$之后,输入命令:vi myfile,然后按〈Enter〉键。
<2>输入插入命令i(屏幕上看不到字符i)。
<3>然后,输入以下文本行:To the only woman tht I,For mang year you have been my wife<4>发现这两行有错,进行改正:按〈Esc〉键,从插入方式回到命令方式。
按光标上移键,使光标移到第一行。
按光标左移键,使光标移到“tht”的第二个“t”处。
输入i(这是插入命令),然后输入a。
该行变成如下形式:To the only woman that I,按光标右移键,使光标移到“I”上。
我们想在“I”之后输入一个空格和单词“love”。
为此,输入附加命令“a”。
结果屏幕显示为:To the only woman that aI,这是怎麽回事儿?......原来是:我们先前使用了插入命令i,至今并未用〈Esc〉键返回命令方式。
所以,输入的所有字符都作为输入文本予以显示。
gcc编译器使用方法
![gcc编译器使用方法](https://img.taocdn.com/s3/m/d9bf0c5c58eef8c75fbfc77da26925c52dc5914d.png)
gcc编译器使用方法一、介绍:GCC(GNU Compiler Collection)是一套由GNU开发的编程语言编译器集合,支持多种编程语言,如C、C++、Objective-C、Fortran、Ada等。
在Linux系统中,GCC是最常用的编译器之一,本文将详细介绍GCC编译器的使用方法。
二、安装GCC编译器:在Linux系统中,GCC编译器通常已经预装。
可以通过以下命令检查GCC是否已经安装:```gcc --version```如果GCC已安装,则会显示其版本信息;如果未安装,则需要通过包管理器进行安装,例如在Ubuntu系统中,可以使用以下命令安装GCC:```sudo apt-get install gcc```三、编译C程序:GCC编译器可以用来编译C程序,以下是一个简单的例子:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```将上述代码保存为hello.c文件,然后使用以下命令编译:```gcc hello.c -o hello```其中,hello.c是源文件的名称,-o指定输出文件的名称,这里将输出文件命名为hello。
编译成功后,可以执行生成的可执行文件:```./hello```输出结果将是:```Hello, World!```四、编译C++程序:GCC编译器也可以用来编译C++程序,以下是一个简单的例子:```cpp#include <iostream>int main() {std::cout << "Hello, World!" << std::endl;return 0;}```将上述代码保存为hello.cpp文件,然后使用以下命令编译:```g++ hello.cpp -o hello```其中,hello.cpp是源文件的名称,-o指定输出文件的名称,这里将输出文件命名为hello。
实验二、Vi文本编辑器和GCC编译器的使用
![实验二、Vi文本编辑器和GCC编译器的使用](https://img.taocdn.com/s3/m/a3bbd722f68a6529647d27284b73f242336c313b.png)
实验二、Vi文本编辑器和GCC编译器的使用实验二、Vi文本编辑器和GCC编译器的使用一、实验目的:1、掌握Linux系统终端方式使用的编辑器vi;2、学习vi的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
3、掌握GCC编译器的使用。
二、实验内容:1、用Vi文本编辑器对你的计算机进行网络配置。
网络配置文件有:文件1:/etc/sysconfig/network;文件2:/etc/sysconfig/network-scripts/ifcfg-eth0;文件3:/etc/resolv.conf;要求:在图形界面下配置,看相应配置文件有没有被修改;修改配置文件看图形界面是否被修改。
2、将显示器配置文件(自己查),复制到//home目录下(一定要复制,对副本进行操作,否则出现异常后果自负),并重命名为i.打开i文件,设置行标,将第89行至第96行的内容复制到第116行,并将第62行至第86行的Option替换为type.并将整篇文章中的Section 替换成choose.将修改后的文件另存为j.并将j复制到/usr目录下,并重命名为k.3、在vi中编写一个abc.c程序,对程序进行编译、连接、运行。
具体如下: [student@enjoy abc]$ vi abc.cmain(){int i,sum=0;for(i=0;i<=100;i++){sum=sum+i;}printf("\n1+2+3+...+99+100=%d\n",sum);}[student@enjoy abc]$ gcc -o abc abc.c[student@enjoy abc]$ lsabc abc.c[student@enjoy abc]$ ./abc1+2+3+...+99+100=5050[student@enjoy abc]$[student@enjoy abc]$4、从如上内容的基础上总结vi的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
实验三基本开发工具的使用
![实验三基本开发工具的使用](https://img.taocdn.com/s3/m/33a824d5988fcc22bcd126fff705cc1755275f98.png)
实验三基本开发工具的使用实验三基本开发工具的使用(1)一.实验目的1.复习vi编辑器的使用2.掌握gcc编译器的使用。
3.掌握gdb调试器的使用。
4.掌握make工具的使用。
二.实验内容1.使用vi编辑器完成以下4个文件的内容输入:[操作步骤](1)在/home目录下创建experiment3子目录,其命令:cd /home (enter) mkdir experiment3 。
(2)在该目录下,创建以下四个文件,文件名:hello.h、starfun.h、hello.c、star.c, 其命令是:geidt hello.h gedit starfun.h gedit hello.c gedit star.c 。
(3)使用vi编辑器分别输入以下内容,如图1、图2所示:图1 使用gedit编辑以下内容图2 使用gedit所建立的4个文件A. starfun.h 文件内容如下:/*****starfun.h*****/#ifndef STARFUN_H#define STARFUN_H#define NUM 4#define NUMBER 3int star1() {int i,j,k;for(k=1;k<=NUM;++k) {for(i=1;i<=(NUM-k);++i) printf(" ");for(j=1;j<=(2*k-1);++j)printf("*");printf("\");}return 0;}int star2() {int i,j,k;for(k=NUMBER;k>=0;--k) {for(i=1;i<=(NUMBER-k+1);++i) printf(" ");for(j=1;j<=(2*k-1);++j)printf("*");printf("\");}return 0;}#endifB. hello.h文件内容如下:/*hello.h*/#ifndef HELLO_H#define HELLO_Hvoid hello() {star1();printf("hello,my friends\");}#endifC. hello.c 文件内容如下:void showhello() {hello();}D. star.c文件内容如下:#include "starfun.h"#include "hello.h"#includeint main() {star1();star2();showhello();return 0;}2.使用gcc编译器,编译程序[操作步骤](1)第一种方法:分步进行A.由star.c starfun.h 文件生成star.o 目标文件:gcc -c star.c -o star.oB.由hello.c hello.h starfun.h生成hello.o目标文件gcc -c hello.c -o hello.oC.由hello.o star.o 生成应用程序myproggcc star.o hello.o -o myprogD.执行应用程序myprog[root@localhost 01_hello]# ./myprog执行情况如下图图3所示:图3 使用gcc编译器,编译程序(2) 一条命令完成以上操作:A.执行清屏命令:clearB.输入命令生成可执行程序myprog :gcc star.c hello.c -o myprogC.执行程序myprog,其命令是:./myprog3.常见选项的应用(1)写出-Wll选项的作用:允许发出gcc提供的所有有用的报警信息。
实验指导书(实验02 vi编辑器+GCC编译器)
![实验指导书(实验02 vi编辑器+GCC编译器)](https://img.taocdn.com/s3/m/49b9a4f7aef8941ea76e05c8.png)
#include <stdio.h> void main() {
int n; n=number+3; printf(“n=number+3=(1+2*3)+3=%d\n”,n); }
四、实验重点
1. 熟悉 vi 编辑器的三种命令模式切换及文档编辑方法; 2. 熟悉 GCC 编译器的分步编译过程及其原理;
五、注意事项
实验后请将/root/test 目录进行备份,以便后续课程继续使用。备份方法如下: 1.将 test 目录归档压缩,产生 test.tgz 文件 说明:如果不做压缩备份,而只是采取拷贝目录的方式备份,也可不用此步操作。 #cd /root #tar -czvf test.tgz test 2.将 test.tgz 文件拷贝到 Vmware Tools 所指定的共享目录下:
int i,n; for(i=0;i<=50;i++) {
s=i+s; } s=s+sum(20); printf("the result is %d\n",s); } int sum(int n) { int total=0; int i; for(i=0;i<=n;i++)
total=total+i; return (total); }
北京理工大学珠海学院机械与车辆学院 2014.7
VI编辑器的使用与Linux操作系统下C语言的使用
![VI编辑器的使用与Linux操作系统下C语言的使用](https://img.taocdn.com/s3/m/0e808c12fc4ffe473368abfd.png)
VI编辑器的使用与Linux操作系统下C语言的使用一、实验题目Linux操作系统下C语言的使用二、实验课时2课时。
三、实验目的:熟悉Linux操作系统下c语言的使用。
四、实验内容学习Linux环境下gcc的使用;观察进程运行情况和CPU工作情况;五、实验步骤:1、屏幕编辑程序Vi的使用vi是Unix系统中使用最广泛的文件编辑器。
启动vi的方法很简单:直接输入“vi”或直接输入“vi 文件名”命令。
启动vi时,处于命令状态,不能够输入字符,只能输入命令:a:“新增文本”(即Append)命令,执行后将进入输入模式,在当前光标之后新增文本。
I:“插入文本”(即Insert)命令,执行后将进入输入模式,在当前光标位置处新增文本。
d+d:“删除一行”命令。
x:“删除当前字符”命令。
P:“粘贴”命令,将复制的内容粘贴在目前光标所在的位置,若复制内容为整行文字,则会粘贴在光标所在位置的下一行。
:q:“退出vi”命令,不过如果在执行这个命令之前修改过内容,则无法退出。
:q!:“不存盘退出”命令,即是放弃所有的修改,强行退出。
:w:“存盘”命令。
:wq:“存盘退出”命令。
当我们使用“a”或“I”命令进行输入模式后,如果要回到命令模式,只需按一下ESC键即可。
2、Linux环境下的gcc的使用格式:gcc [选项][要编译的源程序文件名]当不用任何选项编译一个程序时,gcc将会生成(假定编译成功)一个名为a.out的可执行文件。
例如:下面的命令将在当前目录下产生一个叫a.out的文件:gcc mytest.c可以用-o编译选项为将产生的可执行文件指定一个文件名来代替 a.out,例如,将一个叫mytest.c的C程序编译为名叫mytest的可执行文件:gcc –o mytest mytest.c注意,当使用-o选项时,-o后面必须跟一个文件名。
例如:显示“hello,test world”的程序test.c如下:#include <stdio.h>int main{ printf(“hello,test world\n”);}在命令行上输入以下命令,编译和运行该程序并观察输出。
操作系统VI和GCC用法
![操作系统VI和GCC用法](https://img.taocdn.com/s3/m/da5eeae95ef7ba0d4a733bd6.png)
2.使用c d命令相对切换目录路径 2.使用c d命令相对切换目录路径 使用 根据当前所处的位置和想去的地方,可以通过几 根据当前所处的位置和想去的地方, 种不同的方法相对地切换目录路径。 种不同的方法相对地切换目录路径。如果只是想移动 到目录结构的上一级去,可以输入“cd..”命令 命令。 到目录结构的上一级去,可以输入“cd.. 命令。举 例来说,这个命令可以把你从目录/var/spool带到目 例来说,这个命令可以把你从目录/var/spool带到目 var中去 更进一步地说,输入“ ../..”命令 中去。 录/var中去。更进一步地说,输入“cd ../.. 命令 将把你从目录/var/spool带到根目录 带到根目录“ 中去。 将把你从目录/var/spool带到根目录“/”中去。因 为在根目录上没有更高一级的目录结构了, 为在根目录上没有更高一级的目录结构了,所以在目 /spool中输入 cd../../..”命令还是把你从 中输入“ 录/var /spool中输入“cd../../.. 命令还是把你从 目录/ /spool带到根目录而已 带到根目录而已。 ..” 目录/var /spool带到根目录而已。“..”是一个指 向自身的目录索引。 向自身的目录索引。
Operating System Concepts 2.5
三、vi文本编辑器程序
i编辑器是一个小巧但功能强大的程序 编辑器是一个小巧但功能强大的程序。 v i编辑器是一个小巧但功能强大的程序。许多人 在最初的时候认为它很难用, 在最初的时候认为它很难用,因为它的编辑命令都是 用一两个字母来表示的;但是只要你习惯了使用vi 用一两个字母来表示的;但是只要你习惯了使用vi 使用它进行编辑工作也会十分迅速。 ,使用它进行编辑工作也会十分迅速。其原因在于这 个编辑器只是一个非常短小的程序, 个编辑器只是一个非常短小的程序,因此它只需要使 用很少的内存;同时其编辑命令很简短, 用很少的内存;同时其编辑命令很简短,又都可以通 过键盘快速输入, 过键盘快速输入,所以基本上用不着在键盘和鼠标之 间来回切换。 间来回切换。
vi编辑器实验报告
![vi编辑器实验报告](https://img.taocdn.com/s3/m/53aff178c381e53a580216fc700abb68a882ad35.png)
vi编辑器实验报告一、实验目的1、熟悉 vi 编辑器的基本操作和常用命令。
2、掌握在 vi 编辑器中进行文本编辑、查找替换、保存退出等操作。
3、培养使用 vi 编辑器进行高效文本处理的能力。
二、实验环境操作系统:_____终端工具:_____三、实验内容及步骤(一)启动 vi 编辑器在终端中输入以下命令启动 vi 编辑器:`vi filename`其中,`filename`为要编辑的文件名,如果文件不存在,vi 会创建一个新文件。
(二)三种工作模式vi 编辑器有三种工作模式:命令模式、插入模式和底行模式。
1、命令模式刚进入 vi 编辑器时,处于命令模式。
在命令模式下,可以执行各种操作,如移动光标、删除文本、复制粘贴、查找替换等。
常用的光标移动命令有:`h`:向左移动一个字符`j`:向下移动一行`k`:向上移动一行`l`:向右移动一个字符`0`:移动到行首`$`:移动到行尾`G`:移动到文件末尾`gg`:移动到文件开头常用的删除命令有:`x`:删除当前光标所在的字符`dd`:删除当前行`dw`:删除当前光标所在的单词常用的复制粘贴命令有:`yy`:复制当前行`p`:粘贴在当前光标所在位置的下一行2、插入模式在命令模式下,输入`i`、`a`、`o`等命令可以进入插入模式。
在插入模式下,可以输入文本进行编辑。
`i`:在当前光标位置前插入文本`a`:在当前光标位置后插入文本`o`:在当前行的下一行插入新行并进入插入模式3、底行模式在命令模式下,输入`:`进入底行模式。
在底行模式下,可以执行保存、退出、查找替换等操作。
常用的底行命令有:`:w`:保存文件`:q`:退出 vi 编辑器,如果文件有修改但未保存,会提示无法退出`:q!`:强制退出 vi 编辑器,不保存修改`:wq`:保存并退出 vi 编辑器`:/pattern`:查找匹配`pattern`的文本`:%s/old/new/g`:将文件中所有的`old`替换为`new`(三)编辑文本1、打开一个新文件或已存在的文件。
gcc编译器的使用方法
![gcc编译器的使用方法](https://img.taocdn.com/s3/m/4b9ea5aaf9c75fbfc77da26925c52cc58bd69096.png)
GCC编译器在编译C代码时需要经过以下4个步骤:
1. 预处理:对.c源文件进行预处理(头文件展开和宏替换),生成.i文件。
2. 编译:对.i文件进行编译,生成.s汇编文件。
3. 汇编:对.s文件进行汇编,生成.o目标文件。
4. 链接:将.o文件与库文件进行链接,生成可执行文件。
GCC编译器命令格式及常用选项如下:
gcc [-c|-S|-E] [-std=standard] [-Idir] [-Ldir] [-o outfile] infile... [-lxxx]
其中,infile参数是所有的输入文件,例如源文件、目标文件、库文件等。
-E:仅对源文件进行预处理,不进行编译。
结果直接输出到显示屏。
-S:对源文件进行预处理、编译,不进行汇编。
结果以.s文件形式保存,与.c源文件同名。
-c:对源文件进行预处理、编译、汇编,不进行链接。
结果以.o文件形式保存,与.c源文件同名。
-save-temps:保存编译过程中所产生的所有中间文件。
中间文件名与.c源
文件同名,后缀为.i、.s、.o。
建议编译时始终带上-Wall选项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三vi编辑器及GCC编译器的使用
【实验目的】
一、掌握文本编辑器vi的使用方法
二、了解GNU gcc编译器
三、掌握使用GCC编译C语言程序的方法
【实验内容】
一、vi的三种工作模式:
1、命令模式:
执行相关文本编辑命令
2、输入模式:
输入文本
3、末行模式:
实现查找、替换、保存、多文件操作等等功能
二、进入vi,直接在Shell提示符下键入vi [文件名称],如果该文件在当前目录不存在,则vi创建之。
三、退出vi
1、在命令模式下输入“:
wq”,保存文件并退出vi
2、若不需要保存文件,输入“:
q”
3、若文件已修改,但不保存,输入“:
q!”强制退出vi
4、其它一些不常用的方法在此省略。
四、命令模式下的常用编辑命令
1、启动vi后,进入的是vi的命令模式
2、按i键,进入输入模式,可以进行文本的编辑,在输入模式下,按esc 键,可切换回命令模式
i:
光标位置不变,可在光标左侧插入正文
a:
光标位置向后退一格,可在光标左侧插入正文
o:
在光标所在行的下一行增添新行
O:
在光标所在行的上一行增添新行
I:
光标跳到当前行的开头
A:
光标跳到当前行的末尾
3、光标的移动
k、j、h、l分别等同于上、下、左、右箭头键
Ctrl+b,向上翻一页
Ctrl+f,向下翻一页
nH,将光标移到屏幕的第n行
nL,将光标移到屏幕的倒数第n行
4、删除文本
nX,删除光标所指向的后n个字符
D,删除光标右侧的所有字符(包括光标所指向的字符)db,删除光标左侧的全部字符
ndd,删除当前行和当前行以后的n行内容
5、粘贴和复制
p,将缓冲区的内容粘贴到当前字符的右侧
P,将缓冲区的内容粘贴到当前字符的左侧
yy,复制当前行到内存缓冲区
nyy,复制n行内容到内存缓冲区
6、搜索字符串
/str1,正向搜索字符串str1
n,继续搜索
?str2,反向搜索字符串str2
7、撤销和重复
u,撤销前一条命令的执行结果
.,重复最后一条命令
五、末行模式下的命令:n,将光标移动到第n行:nw file,将第n行写入file文件:n,mw file,将第n行至第m行写入file文件:w,将编辑的内容写入原始文件:wq,将编辑的内容写入原始文件并退出编辑程序:w file,将编辑的内容写入file文件,保持原有文件的内容不变:
f file,将当前文件重命名为file :e file,编辑新文件file代替原有内容:f,打印当前文件的状态,如文件的行数,光标所在的行号等:
!<命令>,执行相应shell命令
六、三种工作模式的切换
1、在Linux shell下,键入vi或vi <文件名>进入命令模式
2、在命令模式下,键入:
进入末行模式
3、在命令模式下,键入文本编辑命令如i,a,o等进入文本输入模式
4、在文本输入模式下,按esc键进入命令模式
5、在末行模式下,按backspace键或del键进入命令模式
6、在末行模式下,键入q或wq,退出vi,饭后到Linux shell下GCC编译器的使用
一、使用vi或其它文本编辑器,输入C语言程序,并保存为test.c
二、在Linux shell下,输入命令gcc –o test test.c
三、编译正确后,输入命令./test运行程序,观察程序运行结果
四、若编译错误,根据提示信息,进入程序查错,再回到第二步,直至程序
语法无误。
附:
GCC使用方法和常用选项
使用GCC编译C程序生成可执行文件需要经历4个步骤:
1、预处理,这一步需要分析各种命令,如#define、#include、#ifdef等。
Gcc调用cpp程序来进行预处理
2、编译,这一步将根据输入文件产生汇编语言,gcc调用ccl进行编译工作
3、汇编,这一步中将汇编语言作为输入,产生具有.o扩展名的目标文件,gcc调用as进行汇编工作
4、连接,这一步中各目标文件.o被放在可执行文件的适当位置上,该程序引用的函数也放在可执行文件中,gcc调用ld来完成Gcc命令的基本用法为:
gcc [option][filename],命令行选项指定的操作将在命令行上每个给出的文件上执行。
例如:
Gcc –o prog main.c test
1.c test
2.c
其中,“-o prog”指定输出的可执行文件名为prog,如果没有指定-o参数,gcc将使用默认的可执行文件名a.out
Gcc的命令选项有许多项,但经常使用的几个选项是:
1、-c:
只预处理,编译和汇编源程序,不进行连接
2、-oexefile,确定输出文件为exefile,如果没有该选项,默认输出为可执行文件a.out
3、-Dmacro或-Dmacro=defn,其作用类似于源程序代码中的#define
4、-O,对程序编译进行优化,编译后可执行文件的长度和执行时间缩短,但编译过程耗时变长,对主机性能要求较高。
5、-O2,比-O更好地优化
6、-g,告诉gcc产生能被GNU调试器使用的调试信息以便调试程序
7、-Idir,将dir目录加到搜寻头文件的目录列表中。
并优先于在gcc中默认的搜寻目录
更多的选项说明请查阅gcc使用手册。
#include <stdio.h>
int main(){printf(“Hello,world!\n”);}。