zoukankan      html  css  js  c++  java
  • g++/gcc命令及使用

    gcc/g++在执行编译工作的时候,总共需要4步
    ⒈预处理,生成.i的文件[预处理器cpp]
    ⒉将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]
    ⒊由汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
    ⒋连接目标代码,生成可执行程序[链接器ld]
    参数详解
    -x language filename
    设定文件所使用的语言,使后缀名无效,对以后的多个有效。也就是根据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,如果
    你很个性,决定你的C代码文件的后缀名是.pig 哈哈,那你就要用这个参数,这个参数对他后面的文件名都起作用,除非到了下一个参数
    的使用。
    eg:g++ -x c++ hello.pig
    -x none filename(关掉上一个选项,也就是让gcc根据文件后缀名自动识别文件类型)
    eg:g++ -x c++ hello.pig -x none hello2.cpp
    -c
    只激活预处理,编译和汇编,也就是只生成obj文件
    eg:g++ -c hello.cpp
    -S
    只激活预处理和编译,就是只把文件编译成汇编代码
    eg:g++ -S hello.cpp
    -E
    只激活预处理,这个不生成文件,需把它重定向到一个输出文件中。
    eg:g++ -E hello.cpp > hello.txt
    eg:g++ -E hello.cpp | more   (命令行中查看)
    -o
    制定 目标名称,缺省的g++编译出来的文件是a.out
    eg:g++ -o  hello hello.cpp
    eg:g++ hello.cpp -o hello
    -O0,-O1,-O2,-O3
    编译器优化选项的4个级别,-O0表示没有优化,-O1为缺省值,依次递增


  • 相关阅读:
    vscode调试pomelo和pomelo使用vscode调试
    linux修改单个进程的系统时间
    python之路目录
    python之前端
    python之ORM操作
    python之redis和memcache操作
    python之消息队列
    python之协程与IO操作
    python之进程与线程
    python之网络编程
  • 原文地址:https://www.cnblogs.com/garfieldx/p/3381471.html
Copyright © 2011-2022 走看看