zoukankan      html  css  js  c++  java
  • 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 ~,列出家目录下的所有文件。 

  • 相关阅读:
    从Pycharm说起
    前端工程师小A学习JS的旅程
    模板引擎开发(一)
    Bootstrap01
    Passbook详解与开发案例
    DLL文件知多少?
    C#中的索引器的简单理解和用法
    python 的列表遍历删除
    Node.js与Golang使用感受与小结1
    解决设计中的两难问题
  • 原文地址:https://www.cnblogs.com/qiaozhoulin/p/4844594.html
Copyright © 2011-2022 走看看