编译流程

我们常说的编译是一个整体的概念,是指从源程序到可执行程序的整个过程,实际上,C语言编译的过程可以进一步细分为预编译->编译->汇编->链接

  • 预编译是把include关键字所使用的文件复制到当前源程序中,将源代码的.c文件和.h文件合并为.i文件
  • 编译是对预编译得到的.i文件的字符流进行语法分析,并转换为相应CPU的汇编程序文件.s
  • 汇编将.s 转化为目标文件.o
  • 链接是用链接器把多个.o和库文件(.so或.a)文件链接在一起形成可执行文件 .out

C开发常见文件类型名

.h 头文件
.c 源文件
.i 预处理文件
.s 汇编文件
.o 目标文件
.a 静态库文件
.so 共享库文件
.out Linux可执行文件

编译流程,C开发常见文件类型名的更多相关文章

  1. 计算机程序的思维逻辑 (64) - 常见文件类型处理: 属性文件/CSV/EXCEL/HTML/压缩文件

    对于处理文件,我们介绍了流的方式,57节介绍了字节流,58节介绍了字符流,同时,也介绍了比较底层的操作文件的方式,60节介绍了随机读写文件,61节介绍了内存映射文件,我们也介绍了对象的序列化/反序列化 ...

  2. Java编程的逻辑 (64) - 常见文件类型处理: 属性文件/CSV/EXCEL/HTML/压缩文件

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  3. php上传常见文件类型对应的$_FILES["file"]["type"](转)

    php上传常见文件类型对应的$_FILES["file"]["type"] from:http://hi.baidu.com/7book/item/374971 ...

  4. JS弹出下载对话框以及实现常见文件类型的下载

    写在前面 JS要实现下载功能,一般都是这么几个过程:生成下载的URL,动态创建一个A标签,并将其href指向生成的URL,然后触发A标签的单击事件,这样就会弹出下载对话框,从而实现了一个下载的功能. ...

  5. PPT开发 * .pps 文件类型

    PPT开发, * .pps ,文件类型 PPS 这个格式也是PowerPoint文件格式的一种. pps的意思是说PowerPoint Show,POWER POINT会直接生成预览形式为你放映幻灯片 ...

  6. 七、IntelliJ IDEA 常见文件类型的图标介绍

    咱们已经了解了很多关于 IntelliJ IDEA 的内容啦,例如,在 Windows 系统下安装 IntelliJ IDEA.运行 IntelliJ IDEA .创建 Java 项目以及修改 Int ...

  7. (转)ASP.NET中常见文件类型及用途

    从入门导师那继承来的习惯,也是加上自己的所谓经验判断,一直对WEB开发不太感冒,可惜呀,从业近二十年,还得从头开始对付HTML.CSS.JS.ASPX,以前的经验,用不上啦!!!先从好好学习ASPX开 ...

  8. Android开发常见错误类型一览表

    这是我的第一个博客,我会一直添加我在Android开发中遇到的错误,用来记录我开发中踩过的那些坑 ------------------------分割线------------------------ ...

  9. IDEA 常见文件类型的图标介绍

    官网地址:http://www.jetbrains.com/idea/webhelp/symbols.html        对于各个图标,上图的 Description 写得非常详细,但是有几个还是 ...

随机推荐

  1. Spring基础——小的知识点

    一.整合多个配置文件 在 Spring Config 文件中,可以使用 <import> 标签将别的配置文件引入到一个文件中,进行配置文件的集成.该标签和 <bean> 标签同 ...

  2. android 获取当前位置

    1. Android开发位置感知应用程序方式:1. GPS 定位     精确度高,仅适用于户外,严重消耗电量.如果手机内置GPS接受模块,即使手机处于信号盲区,依然可以获取位置信息. 2. NETW ...

  3. C#使用基类的引用 and 虚方法和覆写方法

    结论:使用基类的引用,访问派生类对象时,得到的是基类的成员. 虚方法和覆写方法

  4. LeetCode - 44. Wildcard Matching

    44. Wildcard Matching Problem's Link --------------------------------------------------------------- ...

  5. ubuntu E: Could not get lock /var/lib/dpkg/lock - open

    sudo rm /var/lib/apt/lists/lock apt-get update

  6. C#方法的六种参数,值参数、引用参数、输出参数、参数数组、命名参数、可选参数

    方法的参数有六种,分别是值参数.引用参数.输出参数.参数数组.命名参数.可选参数. 值参数 值参数是方法的默认类型,通过复制实参的值到形参的方式把数据传递到方法,方法被调用时,系统作两步操作: 在栈中 ...

  7. wcf 双工

    服务器 [ServiceContract(Namespace="http://www.artech.com/", CallbackContract = typeof(ICallba ...

  8. CRC16校验码生成

    /// <summary> /// 计算CRC-16 /// </summary> /// <param name="data"></pa ...

  9. 媒体对象 - Media Objects(摘录)

    原文链接:http://www.jianshu.com/p/6443be21efbd 一个媒体对象由以下及部分组成 父容器 .media 媒体部分 .media-left 或者 .media-righ ...

  10. ExecutorService常用方法和newFixedThreadPool创建固定大小的线程池

    1.ExecutorService: 是一个接口,继承了Executor: public interface ExecutorService extends Executor { } 2.Execut ...