gcc编译工具的使用
技术交流QQ群:1027579432,欢迎你的加入!
1.gcc工作流程
- 预处理:–E
- 宏替换
- 头文件展开
- 注释去掉
- xxx.c文件变成xxx.i文件(实际上也是c文件)
- 编译(此步骤时间最长):–S
- xxx.i文件变成xxx.s文件(汇编文件)
- 汇编:-c
- xxx.s文件变成xxx.o文件(二进制文件)
- 链接:
- xxx.o文件变成xxx文件(可执行)
- xxx.o文件变成xxx文件(可执行)
- gcc hello.c:默认编译生成的可执行文件名为a.out;
- gcc hello.c -o hello:指定编译生成的可执行文件名为hello;
- 只有编译步骤是gcc完成的,其余步骤都是gcc调用其他工具(如预处理器、链接器等)实现的
2.gcc常用参数
- -v/–version: 查看gcc版本
- -I:编译的时候,指定头文件的路径。例如:gcc sum.c -I ./include/ -o sum
- -c:将汇编文件生成二进制文件,得到了一个.o文件。例如:gcc sum.c -c -I ./include/
- -o:指定生成的文件的名字。例如:gcc sum.c -c -I ./include/ -o aa.o
- -g:gbd调试的时候需要增加的参数。例如:gcc hello.c -o app1 -g
- -D:在编译的时候指定一个宏,使用场景:测试程序的时候使用。例如:gcc sum.c -I ./include/ -D DEBUG -o app
- -Wall:添加警告信息。例如:gcc sum.c -I ./include/ -D DEBUG -o app1 -Wall
- -On:优化代码,n是优化级别:1,2,3。
gcc编译工具的使用相关推荐
- Linux中GCC编译工具集中个软件的用途、gcc的简单编译以及ELF文件格式
文章目录 一.gcc编译工具集中各软件的用途 1.1 GCC 1.2 Binutils 1.3 C运行库 二.简单编译 2.1 代码编译过程 2.2 多个程序文件的编译 2.3 检错 2.4 库文件连 ...
- Linux编程之GCC编译工具实战-夏曹俊-专题视频课程
Linux编程之GCC编译工具实战-6075人已学习 课程介绍 本课程使得学员能够学会在linux中如何编译C/C++程序,使用GCC工具如何编译静态库,动态库,如何配置运行动态库. ...
- GCC编译工具集和nasm编译器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.gcc编译工具集 1.1gcc工具有哪些 1.2gcc编译过程 1.2.1.这里我们是使用一个hello.c文件进行演 ...
- gcc编译工具常用命令以及汇编语言
文章目录 一.Linux GCC常用命令 二.GCC编译器背后的故事 总结 一.Linux GCC常用命令 1 新建一个文件test,代码如下: #include <stdio.h>int ...
- 如何把gcc编译工具使用到linux全局
转载来自朱老师笔记 总结: gcc的安装,怎么安装,在linux下把压缩包放入共享文件夹中,拷贝到用户目录下,一般是/local/bin中(要创建一个ARM文件夹) 解压缩gcc压缩包 echo $P ...
- Tips--windows系统下gcc编译C文件为so共享库
windows系统下gcc编译C文件为so共享库 1. windows系统安装gcc编译工具 2. 利用gcc编译多个c文件 3. 利用python工具验证生成的so共享库 1. windows系统安 ...
- MDK编译过程及ARM编译工具链
欢迎加入[Linux C/C++/Python社区]一起探讨和分享Linux C/C++/Python/Shell编程.机器人技术.机器学习.机器视觉.嵌入式AI相关领域的知识和技术. MDK编译过程 ...
- 如何用gcc编译C代码
如何用gcc编译C代码 1.编写 hello word 的两种方法--现成编译器 这个方法大家都经常用,比如DEVCpp,Visual Studio 2017,Visual C++ 6.0等. 简单的 ...
- gcc mips64编译后无法运行在octeon上运行_编译工具链
软件的编译过程由一系列的步骤完成,每一个步骤都有一个对应的工具.这些工具紧密地工作在一起,前一个工具的输出是后一个工具的输入,像一根链条一样,我们称这些工具为工具链. Linux系统上,通常只需要使用 ...
最新文章
- 开始做事了...............
- 极值滤波matlab,[转载]转:Matlab信号提取、频谱分析、滤波、阈值设定、寻找极值点...
- Java进阶知识-数组类型
- 关于eclipse解压安装的问题
- 十二省联考题解 - JLOI2019 题解
- word2007鼠标不好用
- python excel 数据匹配实现vlookup功能_如何用python实现excel中的vlookup功能?
- win10推送_Win10推送更新升级Edge浏览器:用户发现电脑速度因此变慢
- 究极探秘!你知道程序员最喜欢做的四件事是什么吗?
- 微信淘宝等平台要互通!?腾讯阿里字节回应
- linux 乌班图 lnmp环境搭建
- python制动化之路
- Java多线程(四)——多线程数据隔离与共享
- Here we are 团队简介
- 一天一种设计模式之七-----装饰模式
- Windows7 原版下载大全
- Restlet 短连接问题
- linux 打包大文件,tar打包处理大文件的解压缩方法
- [论文阅读] LCC-NLM(局部颜色校正, 非线性mask)
- STM8 fHSI和 fCPU分频