ubuntu笔记6
来源:互联网 发布:仿淘宝客户端电商平台 编辑:程序博客网 时间:2024/06/05 11:52
1.预处理
例如,预处理结果就是将stdio.h 文件中的内容插入到test.c中了
2.编译
生成汇编代码
3.汇编
生成目标文件
4.连接
将程序的目标文件与所需的所有附加的目标文件连接起来,最终生成可执行文件。附加的目标文件包括静态连接库和动态连接库。
gcc -pedantic illcode.c -o illcode
gcc -Wall illcode.c -o illcode
gcc -Werror test.c -o test
从程序员的角度看,函数库实际上就是一些头文件(.h)和库文件(so、或lib、dll)的集合。。虽然Linux下的大多数函数都默认将头文件放到/usr/include/目录下,而库文件则放到/usr/lib/目录下;Windows所使用的库文件主要放在Visual Stido的目录下的include和lib,以及系统文件夹下。但也有的时候,我们要用的库不再这些目录下,所以GCC在编译时必须用自己的办法来查找所需要的头文件和库文件。
Linux下的库文件分为两大类分别是动态链接库(通常以.so结尾)和静态链接库(通常以.a结尾),二者的区别仅在于程序执行时所需的代码是在运行时动态加载的,还是在编译时静态加载的。
默认情况下, GCC在链接时优先使用动态链接库,只有当动态链接库不存在时才考虑使用静态链接库,如果需要的话可以在编译时加上-static选项,强制使用静态链接库。
阅读全文
0 0
- ubuntu笔记6
- Ubuntu笔记
- ubuntu 笔记
- ubuntu 笔记
- Ubuntu笔记
- ubuntu笔记
- ubuntu笔记
- ubuntu笔记
- ubuntu笔记
- Ubuntu笔记
- [Ubuntu] Ubuntu使用笔记
- ubuntu 安装笔记
- Ubuntu使用笔记
- ubuntu 6.10 使用笔记
- Ubuntu安装笔记
- Ubuntu配置笔记
- ubuntu 学习笔记
- ubuntu 学习笔记
- python学习
- Webstorm2017,SVN插件安装
- 使用React模仿大众点评
- Errors while building APK. You can find the errors in the 'Messages' view.
- python数据挖掘包numpy基本操作
- ubuntu笔记6
- 代码没有红叉但是项目文件夹上有红叉的问题
- C++第五次作业
- git命令行演练
- 关于Visual Studio属性页的一些trick
- 直方图均衡化
- 物联网MQTT协议分析和开源Mosquitto部署验证
- jstl表达式
- Ubuntu环境配置