Linux下文件的编译
一、文件的编译
gcc 文件名
c文件类型
.h ——头文件
.h.——gch 头文件的编译结果,与头文件同时存在时,会被优先使用
.c ——源文件
.i ——预处理文件
.s ——汇编文件
.o ——目标文件
.so ——共享库
.a ——静态库
二、编译器
负责把人能看懂的用代码记录的文本文件,翻译成计算机能看懂的二进制文件
由预处理器、编译器、链接器
gcc是由gnu社区为了编译Linux内核代码而开发一款免费的编译器,默认采用c89编译语法
-std=gnu99 可以设置为C99语法
1、gcc code.c -> a.out(默认可执行文件名)
常用参数:
-E 显示出预处理结果
-S 生成汇编代码
-c 只编译不链接
-o 设置编译结果的名字
-std= 设置编译语法
-I(大写i) 路径 指定头文件的加载路径
-l 指定要使用的库文件 例: -lm
-Wall 更严格地检查代码,尽可能多地产生警告
-Werror 把警告当错误处理
2、 c代码源文件变成可执行文件的过程:
预处理:把源文件翻译成预处理文件
gcc -E code.c 把预处理结果打印到终端
gcc -E code.c -o code.i 生成以.i结尾的预处理文件
编译:把预处理文件翻译成汇编代码
gcc -S code.i 生成以.s 结尾的汇编文件
汇编:把汇编文件翻译成二进制的目标文件
gcc -c code.s 生成以.o 结尾的目标文件
链接:把若干个目标文件合并生成一个可执行文件
gcc a.o b.o …… 默认生成a.out 可执行文件
gcc a.o b.o …… -o newname 指定生成别名的可执行文件
Linux下文件的编译相关推荐
- PHP编译为静态库,Linux下将Tinyxml编译为静态库
转载请注明来源:Linux下将Tinyxml编译为静态库 一个应用需要在linux服务器上运行,不能保证每个服务器都有应用依赖的库,又懒得每个服务器都去安装下,也不太现实,于是就将应用所用到的库全部编 ...
- linux下文件描述符的介绍
linux下文件描述符的介绍 (2012-10-02 16:01:56) 转载▼ 标签: 描述符 调用 返回 进程 限制 it 分类:linux 当某个程序打开文件时,操作系统返回相应的文件描述符,程 ...
- vc6可编译的 linux 源码,Linux 下源码编译FFMEG
1. 安装依赖关系 $ sudo apt-get update $ sudo apt-get -y install autoconf automake build-essential libass-d ...
- automake linux,Linux下automake软件编译与发布快速入门
Linux下automake软件编译与发布快速入门 2008-04-22 eNet&Ciweek 进入编辑界面,输入内容如下: AUTOMAKE_OPTIONS=foreign bin_PRO ...
- linux ortp 编译,Linux下oSIP的编译使用应该是很简单的,其Install说明文档.doc
Linux下oSIP的编译使用应该是很简单的,其Install说明文档.doc Linux下oSIP的编译使用应该是很简单的,其Install说明文档里也介绍的比较清楚,本文主要就oSIP在Windo ...
- Linux下文件加密方法总结
Linux下文件加密方法总结 为了安全考虑,通常会对一些重要文件进行加密备份或加密保存,下面对linux下的文件加密方法做一简单总结: 方法一:gzexe加密 这种加密方式不是非常保险的方法,但是能够 ...
- linux下目标文件的类型6,Linux下文件类型
Linux下文件的类型是不依赖于其后缀名的,但一般来讲: .o,是目标文件,相当于windows中的.obj文件 .so 为共享库,是shared object,用于动态连接的,和dll差不多 .a为 ...
- linux下文件夹归置方式
/bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录的基点,比如用户user的主目录就是/hom ...
- windows和linux下源码编译7-Zip(7za)
windows和linux下源码编译7-Zip(7za) 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 文章目录 windows和l ...
最新文章
- GNS3模拟VPC注意几点
- js 如何实现bind
- 深入浅出Android BufferQueue
- 多线程编程(4) - 多线程同步之 Mutex (互斥对象)
- JavaWeb网上图书商城完整项目--day02-14.登录功能的login页面处理
- oracle如何设置备份计划任务,Oracle数据库设置任务计划备份一周的备份记录
- ue4 classuobject没有成员beginplay_UE4 C++ 智能滚动列表ScrollList
- 安装SQL2005出现服务器启动失败或者安装后启动服务器失败的原因及解决方法
- 慕课网vue播放器最新QQ音乐api
- 积分图的SSE和AVX2优化
- 中医药天池大数据竞赛——中医文献问题生成挑战(二)
- 蓝牙软件测试指标,蓝牙测试简介
- linux 创建 swap分区
- unity3d技术摄像头跟随_unity 3d 中摄像头跟随人物移动总结
- [F2F] MyBatis相关面试题
- 300道SpringCloud面试题及答案(最新整理)
- 计算机的未来发展趋势
- 地震波ifft matlab,地震波观测系统的MATLAB仿真报告
- PTA -- 旅游规划
- 根据交换机端口分配固定地址的方法