gcc指令

作者: 萍水间人 | 来源:发表于2019-02-09 16:22 被阅读11次

要弄懂命令的意思, 还是需要直接去翻阅doc

编译选项的作用

gcc --help={common|optimizers|params|target|warnings|...

Display specific types of command line options.
命令帮助的归类

  • - E
    只进行预处理 Preprocess only ; do not complie , assemble, or link
    不做编译, 汇编,和链接。 但是不生成文件, 需要进行重定向

gcc -E hello.c > hello.txt

  • -S
    Compile only ; do not assemble or link
    只进行编译, 不进行汇编和链接。 得到一个后缀为 .s 的汇编文件
  • -c
    compile and assemble, but do not link
    编译和汇编, 但是不进行链接。 也就是做成一个obj文件。 得到一个后缀为 .o 的文件
  • -o
    将输出指定到某个文件

  • -g
    generate debug information in debug format
    产生debug信息

  • -x
    指定文件的语言, 使得后缀名失效。如果是 -x none 则让gcc根据文件后缀名识别


补充一下Linux dump命令

dump命令

备份文件系统

实例

dump -0 -u /dev/tape /home/

-0 指定被分等级
-u 要求备份完毕之后将响应的信息存储到文件 /etc/dumpdates 留做记录


下图是gcc的编译程序的过程


gcc编译过程

几个问题

  • 写代码的时候, include的库文件在哪?gcc又是怎么知道的

一般的头文件或者库文件的位置在:
/usr/include及其子目录底下的include文件夹
/usr/local/include及其子目录底下的include文件夹
/usr/lib
/usr/local/lib
/lib

比如常见的stdio.h
就位于 /usr/include这个文件夹下
至于gcc为什么能够找到, 估计是环境变量的作用

  • 编译和汇编?

-S 能够生成一个 .s 文件, 也就是汇编语言所写的文件
这个过程叫做编译, 编译就是指生成汇编语言的过程

而反汇编,也就是从可运行的程序 得到汇编语言所写的文件。

汇编是生成目标文件的过程

参考资料

https://www.cnblogs.com/Leo_wl/p/5457112.html

相关文章

  • gcc指令编译经历的过程 2019-04-19

    gcc指令编辑过程 (gcc abc -o abc) gcc指令编辑过程 (gcc abc -o abc) 1.源...

  • gcc指令

    要弄懂命令的意思, 还是需要直接去翻阅doc 编译选项的作用 gcc --help={common|optimiz...

  • gcc相关

    gcc编译常用指令 gcc编译过程 gdb调试流程 第一步生成调试文件 第二步 根据指令调试

  • 矢量拓展-使用GNU编译器gcc

    来源 通过内置函数使用向量指令 [https://gcc.gnu.org/onlinedocs/gcc/Vecto...

  • GCC和GDB

    一、GCC编译流程 预处理指令格式: 编译指令格式: 汇编指令格式: 链接指令格式: 最后运行可执行文件:./xx...

  • GCC定义宏,预处理指令使用宏

    为实现跨平台编译,可以用预处理指令指定不同平台的代码,再用GCC指定具体平台,例如: 代码 编译 gcc -DPH...

  • [C++之旅] 0 Mac下编译运行C/C++

    [C++之旅] 0 Mac下编译运行C/C++ 编译c语言时采用gcc指令 编译c++语言时采用g++指令 以下以...

  • __builtin_expect 说明

    这个指令是gcc引入的,作用是允许程序员将最有可能执行的分支告诉编译器。这个指令的写法为:__builtin_ex...

  • gdb介绍

    Linux指令中文说明传送入口 整理自Linux指令中文说明 功能强大的程序调试器gdb命令 包含在GNU的gcc...

  • 程序执行流程

    图解执行流程.png 流程预处理/* 指令:gcc -E hello.c -o hello.i 作用:处理文件...

网友评论

      本文标题:gcc指令

      本文链接:https://www.haomeiwen.com/subject/ostzsqtx.html