Gcc 命令大全
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 命令大全的更多相关文章
- CMD命令大全
有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联. AT 计划在计算机上运行的命令和程序. ATTRIB 显示或更改文件属性. BREAK 设置或清除扩展式 CT ...
- 黑客攻击常用CMD命令大全
黑客常用命令大全net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai ...
- Windows CMD命令大全(转)
Windows CMD命令大全 命令简介 cmd是command的缩写.即命令行 . 虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行 ...
- Android系统在超级终端下必会的命令大全(adb shell命令大全)
. 显示系统中全部Android平台: android list targets . 显示系统中全部AVD(模拟器): android list avd . 创建AVD(模拟器): android c ...
- 【干货分享】dos命令大全
一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进入操作系统中的dos命令,如下图: 严格的 ...
- dos命令大全 黑客必知的DOS命令集合
dos命令大全 黑客必知的DOS命令集合 一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进 ...
- DOS命令大全(转)
dos命令大全 CMD是command的缩写,是windows环境下的虚拟DOS窗口,提供有DOS命令,功能强大,如果你以前学习过DOS操作,那就小儿科了.是基于Windows的命令行窗口,在开始-- ...
- windows dos命令大全
windows dos命令大全 一.windows DOS命令概述 Windows的dos命令又是Windows的CMD命令.而cmd命令又是原来MS-DOS系统保留下来. DOS来源路径与配置对应的 ...
- DOS命令大全(二)
一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进入操作系统中的dos命令,如下图: 严格的 ...
随机推荐
- Fragment与Fragment相互切换之间的生命周期方法
Fragment 1 切换到 Fragment 2时生命周期变化 1.通过 add hide show 方式来切换 Fragment Fragment1 的生命周期变化为:onCreate().onC ...
- UI第三方
自定义下拉刷新控件 - RefreshableView(支持所有控件的下拉刷新)https://blog.csdn.net/cjh_android/article/details/52462367 亲 ...
- <3>Centos系统完整安装python流程
一.环境 系统:Centos7 Python:3.6.5 自带pip.setuptools 二.命令 介绍:因为yum是依赖于python2,所以千万别删除自带的python2,下面的方法就是py2 ...
- <自动化测试方案_7>第七章、PC端UI自动化测试
第七章.PC端UI自动化测试 UI自动化测试又分为:Web自动化测试,App自动化测试.微信小程序.微信公众号UI层的自动化测试工具非常多,比较主流的是UFT(QTP),Robot Framework ...
- SpringBoot+MyBatis配置多数据源
SpringBoot 可以支持多数据源,这是一个非常值得学习的功能,但是从现在主流的微服务的架构模式中,每个应用都具有唯一且准确的功能,多数据源的需求很难用到,考虑到实际情况远远比理论复杂的多,这里还 ...
- Python3 调试技巧 —— 死循环
说下Python3不使用gdb的自身调试 前情提要:服务器莫名卡死,用网上的方法用gdb,下载了很多组件,包括那个libpython.py,都没什么用,看不到堆栈,也试了保存core文件等等 大事找官 ...
- django logging
LOG_LEVEL = 'DEBUG' LOGGING = { 'version' : 1, 'disable_existing_loggers' : True, 'formatters' : { ' ...
- jquery各大学选择插件
地址:http://www.jq22.com/jquery-info5565 演示地址:http://www.jq22.com/yanshi5565
- git pull以及git pull --rebase
git pull的作用是将远程库中的更改代码合并到当前分支中,默认为:git fetch + git merge git fetch 的作用就相当于是从远程库中获取最新版本到本地分支,不会自动进行gi ...
- MySQL(InnoDB)是如何处理死锁的
MySQL(InnoDB)是如何处理死锁的 一.什么是死锁 官方定义如下:两个事务都持有对方需要的锁,并且在等待对方释放,并且双方都不会释放自己的锁. 这个就好比你有一个人质,对方有一个人质,你们俩去 ...