linux中使用vim編譯C++程序

Vi三种模式详解

命令行模式 (command mode/一般模式)
  任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。 
  在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。
 
文本输入模式 (input mode/编辑模式)
  在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按"ESC"键即可。 

末行模式 (last line mode/指令列命令模式)
  末行模式也称ex转义模式。 
  Vi和Ex编辑器的功能是相同的,二者主要区别是用户界面。在Vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以按回车键结束的正文行。Vi有一个专门的“转义”命令,可访问很多面向行的Ex命令。在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。

 
g++编译:

1.编译(compile):指用编译器(compiler)将源代码(source code)生成二进制目标文件(object file),在Windows下也就是 .obj 文件,UNIX下是 .o 文件。编译时,编译器需要的是语法的正确,函数与变量的声明的正确,编译器只检测程序语法,和函数、变量是否被声明,函数并不需要被定义。

    UNIX下g++的语法为:
        g++ -c file.cpp

    -c 是compile的意思,此命令将会生成 file.o 的目标文件。

2.链接(link):找到所要用到函数所在的目标文件,并把它们链接在一起合成为可执行文件(executable file)。链接时,要确保编译器能找到所有被用到了的函数所在的目标文件。

    g++ file1.o file2.o -o program.exe

    -o 是指定生成的可执行文件名称(output)。若不给出,默认的名称为 a.out

上述两部通常也可以合在一起完成:

    g++ file1.cpp file2.cpp -o program.exe

这完全等同于上面两步的结合,会先生成目标文件,然后链接成 file.exe

 

运行的时候需要注意,必须要给路径名 如:./a.out  直接输入a.out不能运行。

如果只有一个.cpp 可以不要生成目标文件那个过程。

如:g++ lin.cpp则会生成a.out,可直接运行。

 

附:linux命令

ls列出文件,ls -al ,-a列出所有文件,包括隐藏文件,-l长文件,即包含文件属性

如 ls -al ~,列出家目录下的所有文件。 

更多相关文章
  • 今天遇到在window上部署ant编译的包,能运行正常,但部署在linux中出现跳不进jsp中,出现404问题,后来经过排查在jsp中<[email protected] prefix="c" uri="http://java.sun.com/jsp/jstl/core" ...
  • 1. 安装Ubuntu. 2. 安装gcc 方法一: sudo apt-get install build-essential 安装完了可以执行 gcc--version的命令来查看版本,输出如下: gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7) Copyright(C)20
  • 在Linux中運行Nancy應用程序
    最近在研究如何将.NET应用程序移植到非Windows操作系统中运行,逐渐会写一些文章出来
  • 一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的.会提示缺少……库文件之类的错误.这就是动态编译的结果. 但是如果我们想编译一个程序,这个程序在发给别人后,他们可以直接打开,而不需要特别地去先安装Qt库,那就需要采用静态编译了. 在
  • Ubuntu下可以直接安装: sudo apt-get install mingw32 mingw32-binutils mingw32-runtime   安装后编译程序可以: i586-mingw32msvc-g++(编译C++程序) i586-mingw32msvc-gcc(编译C程序)  
  • linux cross toolsChain 交叉編譯 ARM(轉)
    转载请注明出处:http://blog.csdn.net/mybelief321/article/details/9076583     安装环境        Linux版本:Ubuntu 12.04    内核版本:Linux 3.5.0   交叉编译器版本:arm-linux-gcc-4.4. ...
  • 


    		    Linux下源碼編譯實現WEB平台的黃金組合—LAMP架構
    一.LAMP简介 LAMP是linux apache mysql php组合起来的缩写,起
  • 


    		    Linux下Mysql 的編譯安裝最新版本5.6.24和詳細部署
    MySQL 5.6正式版发布了,相对于5.5版本作出了不少改进,其源码安装配置方式也有所变化,本文根据实际操作,不断尝试,精确还原了安装的具体步骤. 安装MySQL前,先确认卸载系统自带数据库 打开操作终端 输入rpm -qa|grep mysql(罗列所有数据库相关的文件) rpm –e (罗列出
一周排行