乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
C 0.01 gcc
2018-06-17 08:23:04
76
0
0
admin
> 介绍编译过程 #编译过程 **预处理=>编译=>汇编=>链接** ##预处理(cpp) ``` gcc -E hello.c -o hello.i ``` 根据字符‘#’开头的命令,修改程序 比如将指定的头文件内容插入程序文本中,还有替换所有的符号常量 *** ##编译(ccl) ``` gcc -S hello.i -o hello.s ``` 把C语言编译成汇编语言 *** ##汇编(as) ``` gcc -c hello.s -o hello.o ``` 生成二进制程序 *** ##链接(ld) ``` gcc hello.o -o hello ``` 将依赖的函数库的二进制文件链接到此二进制文件中,现在此文件可以运行了 *** > **如果直接运行gcc hello.c -o hello 会直接运行以上四步** #gcc 的其它参数 -O [0,1,2,3] 对代码优化的级别 -Idir 增加寻找头文件的默认路径 -Ldir 增加寻找函数库文件的默认路径 -m32 生成32位的 -m64 生成64位的 -static 用静态链接 (默认是动态链接) -g 加入调试信息,给gdb用
上一篇:
C 0.0 介绍
下一篇:
C 0.02 预处理
文档导航