linux中的C++学习之旅(1)编译命令

文章介绍了Vim编辑器的使用方法,包括打开文件、编辑和保存操作。接着详细阐述了GCC编译器的工作流程,从预处理到编译、汇编、链接四个阶段,并列举了g++的各种编译参数,如优化级别、库文件链接和头文件搜索路径等。
摘要由CSDN通过智能技术生成

Vim编辑器   “编辑器之神”???

        vim+文件名 :将该文件以vim形式打开。

        进入后输入i:当左下角显示插入状态时可以进行编辑

        shift + ;即『:』冒号标志后输入w表示写入保存   输入q 退出

gedit       Linux下的一个纯文本编辑器,可以根据不同的语言高亮显示关键词和标识符

GCC编译器:

编译过程

         1.预处理 Pre-Processing    //生成.i文件

                g++   -E   test.cpp  -o  test.i         #-E 选项只是编译器仅仅对输入文件进行预处理

        2.编译 Compiling         //生成.s文件即汇编语言文件

                g++   -S   test.i    -o    test.s     #-S告诉g++ 在为C++代码产生了汇编语言文件后停止编译

                                                                        #汇编语言的文件扩展名为 .s

        3.汇编 Assembling  #生成.o文件(机器语言文件)

                g++   -c   test.s     -o     test.o   #-C表示g++把源代码编译为机器语言汇的目标代码

        4.链接 Linking    //bin文件

                g++   test.o    -o    test     #-o编译选项来为将产生可执行文件用指定的文件名

g++的编译参数:

        -g  编译产生带调试信息的可执行文件

                g++   -g   test.cpp   -o   test

        -O[n]: 优化源代码

                -O同时减小代码长度和执行时间,其效果等于-O1

                -O0表示不做优化

                -O1表示默认优化

                -O2除了完成-O1的优化外,还进行一些额外的调整工作,如指令调整

                -O3包括循环展开和其他与处理特性相关的优化工作

                选项将使用编译的速度比使用-O时慢,但通常产生的代码执行速度会更快

                g++ -O2 test.cpp

        -l/-L指定库文件|指定库文件路径

                g++    -lglog   test.cpp        #-l表示指定程序要链接的库,-l紧接着的就是库的名字

                                                                    #-l的库在/lib和/usr/lib和/usr/local/lib里面才可以链接

                #如果库文件没放在上面三个目录文件下,需要使用-L参数指定库文件所在的位置

                g++    -L/home/yep/mytestlibfolder    -lmytest   test.cpp

        -I(大写的i) 指定头文件搜索目录,一般是不需要的,但是如果头文件不再/usr/include里我们就要用I参数指定,比如头文件放在/myinclude目录里面

               g++    -I/myinclude    test.cpp

        -Wall 打印警告信息

                g++   -Wall   test.cpp               

        -w 关闭警告信息

                g++   -w   test.cpp

        -std=c++11  设置编译标准

                g++   -std   =  c++11   test.cpp  # 使用c++11 标准编译 test.cpp

        -o  指定输出文件名

                g++   test.cpp    -o  test  #如果不指定-o会默认输出a.out文件

        -D 定义宏

                g++   -DDEBUG   main.cpp   #定义了一个DEBUG 用来判断源代码内的条件编译部分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值