gcc这条命令用来将源代码生成可执行程序,下面来看一下gcc的常用选项。
1、无选项编译链接
例:命令:gcc test.c //会默认生成a.out可执行程序
2、-E: 进行预处理和编译,生成汇编文件。
命令:gcc -E test.c //会生成test.i文件

3、-S: 进行预处理,编译,汇编等步骤,生成“.s”文件
例:命令:gcc -S test.c //会生成test.s文件

4、-c: 会直接生成二进制目标文件
例:命令:gcc -c test.c //会生成test.o文件

5、-o :对生成的目标进行重命名
例:命令:gcc -o test test.c //会生成名字是test可执行文件而不是默认的a.out

6、-pipe: 使用管道代替编译中的临时文件
例:命令:gcc -pipe -o test test.c

7、-include file :包含某个代码。相当于在文件中加入#include
例:gcc test.c -include /root/file.h

8、-Idir:当你使用#include”file”的时候,会先到你定制的目录里面查找

9、-I-:取消前一个参数的功能。一般在-Idir之后使用

10、-C:在预处理的时候不删除注释信息,一般和-E使用。

11、-M:生成文件关联信息。包含目标文件所依赖的所有源代码。

12、-MM:和-M一样,只不过忽略由#include所造成的依赖关系。

13、-MD:和-M相同,只不过将输出导入到”.d”文件里面

14、-MMD:和-MM相同,将输出导入到”.d”文件里面。

15、-llibrary:定制编译的时候使用的库
例:gcc -lpthread test.c //在编译的时候要依赖pthread这个库

16、-Ldir:定制编译的时候搜索库的路径。如果是自己定制的库,可以用它来定制搜索目录,否则编译器只在标准库目录里面找,dir就是目录的名字

17、-O0(字母o和数字0):没有优化

-O1:-O1位缺省值

-O2:二级优化

-O3:最高级优化
级别越大优化越好,但编译时间边长。

18、-g:在编译的时候假如debug调试信息,用于gdb调试

19、-share:此选项尽量的使用动态库,所以生成文件比较小,但是必须是系统有动态库。

20、-shared:生成共享目标文件,通常用在建立共享库。

21、-static:链接时使用静态链接,但是要保证系统中有静态库。

22、-w:不生成任何警告信息

22、-Wall:生成所有警告信息

Gcc 命令大全的更多相关文章

  1. CMD命令大全

    有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联. AT 计划在计算机上运行的命令和程序. ATTRIB 显示或更改文件属性. BREAK 设置或清除扩展式 CT ...

  2. 黑客攻击常用CMD命令大全

    黑客常用命令大全net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai ...

  3. Windows CMD命令大全(转)

    Windows CMD命令大全   命令简介 cmd是command的缩写.即命令行 . 虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行 ...

  4. Android系统在超级终端下必会的命令大全(adb shell命令大全)

    . 显示系统中全部Android平台: android list targets . 显示系统中全部AVD(模拟器): android list avd . 创建AVD(模拟器): android c ...

  5. 【干货分享】dos命令大全

    一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进入操作系统中的dos命令,如下图: 严格的 ...

  6. dos命令大全 黑客必知的DOS命令集合

    dos命令大全 黑客必知的DOS命令集合 一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进 ...

  7. DOS命令大全(转)

    dos命令大全 CMD是command的缩写,是windows环境下的虚拟DOS窗口,提供有DOS命令,功能强大,如果你以前学习过DOS操作,那就小儿科了.是基于Windows的命令行窗口,在开始-- ...

  8. windows dos命令大全

    windows dos命令大全 一.windows DOS命令概述 Windows的dos命令又是Windows的CMD命令.而cmd命令又是原来MS-DOS系统保留下来. DOS来源路径与配置对应的 ...

  9. DOS命令大全(二)

    一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进入操作系统中的dos命令,如下图: 严格的 ...

随机推荐

  1. 【设计模式】工厂方法模式 Factory Method Pattern

    在简单工厂模式中产品的创建统一在工厂类的静态工厂方法中创建,体现了面形对象的封装性,客户程序不需要知道产品产生的细节,也体现了面向对象的单一职责原则(SRP),这样在产品很少的情况下使用起来还是很方便 ...

  2. 【Java】itext根据模板生成pdf(包括图片和表格)

    1.导入需要的jar包:itext-asian-5.2.0.jar itextpdf-5.5.11.jar. 2.新建word文档,创建模板,将文件另存为pdf,并用Adobe Acrobat DC打 ...

  3. composer在update时提示file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO

    在开发的时候,需要把依赖的服务更新到最新,然后 手动composer update一下,提示如下: failed) Update failed (The "e "https://a ...

  4. docker 发布方式尝试

    docker 发布方式尝试 目前有个小项目, 尝试用docker的方式来发布, 项目只有一个节点, 使用 kubenate 有点小题大做, 所以采用docker-compose来发布. 发布过程 GI ...

  5. Linux命令大杂烩

    查看linux出口IP curl ifconfig.me scp跨服务器转移文件命令 scp 文件 root@IP:/application/apache-tomcat-8.0.36      回车, ...

  6. 随机数据生成与对拍【c++版,良心讲解】

    10.7更新:见最下面 离NOIP2018没剩多长时间了,我突然发现我连对拍还不会,于是赶紧到网上找资料,找了半天发现了一个特别妙的程序,用c++写的! 不过先讲讲随机数据生成吧. 很简单,就是写一个 ...

  7. ASP.NET Core 2.1 : 十四.静态文件与访问授权、防盗链

    我的网站的图片不想被公开浏览.下载.盗链怎么办?本文主要通过解读一下ASP.NET Core对于静态文件的处理方式的相关源码,来看一下为什么是wwwroot文件夹,如何修改或新增一个静态文件夹,为什么 ...

  8. scala的多种集合的使用(3)之遍历集合的方法

    遍历集合的方法 1.用foreach循环遍历一个集合 foreach接收一个函数作为参数.定义的函数应该接收一个元素作为输入参数,然后不要返回任何的东西.输入的参数的类型应该匹配集合中的类型.随着fo ...

  9. ansible-playbook(node_exporter)

    roles/node_exporter/tasks/main.yml - name: copy package copy: src=node_exporter-0.17.0.linux-amd64.t ...

  10. MYSQL Statement violates GTID consistency: Updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as

    [2019-04-21 10:17:20] [ERROR] [org.hibernate.engine.jdbc.spi.SqlExceptionHelper:144] Statement viola ...