zoukankan      html  css  js  c++  java
  • 【编译器】G++相关编译命令

    G++相关编译命令

    下面以Test.cpp为例:

    命令: g++ Test.cpp
    功能:生成默认为a.exe的文件,这个过程包含了编译和链接。
    
    -o命令是输出的意思,这样就输出了Test.exe。
    你要输出Test.exe的话可以用:g++ -o Test.exe

    1.预处理,生成.i的文件[预处理器cpp]

    命令:g++ -E Test.cpp > Test.i   
    功能:这一步主要做了这些事情:宏的替换,还有注释的消除,还有找到相关的库文件。用编辑器打开Test.i会发现有很多很多代码,你只需要看最后部分就会发现,预处理做了宏的替换,还有注释的消除,可以理解为无关代码的清除。

    2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]
    命令:g++ -S Test.cpp

    功能:会生成Test.s文件,.s文件表示是汇编文件,用编辑器打开就都是汇编指令。

    3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]

    命令:g++ -c Test.cpp 
    功能:.o是GCC生成的目标文件,除非你是做编译器和连接器调试开发的,否则打开这种.o没有任何意义。二进制机器码一般人也读不了。

    4.连接目标代码,生成可执行程序[链接器ld]

    命令:g++ Test.o -L F:vs2008VCincludeiostream
    功能:将.o文件与所需的库文件链接整合形成.exe文件,这就是可执行文件。-L 表示链接,这里我后面写的是绝对路径,相对各人电脑不同

    参考文献
    g++编译

  • 相关阅读:
    洛谷 P1593 因子和
    洛谷 P1167 刷题
    洛谷 P1613 跑路
    洛谷 P1629 邮递员送信
    洛谷 P1654 OSU!
    洛谷 P1967 货车运输
    FPGA开平方的实现
    FPGA设计思想之串并转换
    verilog乘法器的设计
    FPGA浮点数定点数的处理
  • 原文地址:https://www.cnblogs.com/gwj1314/p/9444894.html
Copyright © 2011-2022 走看看