第一阶段

使用编辑器编写的源代码 (.txt) 文件 hello.c。经过 Pre-processor 进行前处理。在前处理阶段,当 pre-processor 读到代码中的#include<stdio.h>时,会读取头文件stdio.h,并将其直接插入源代码中。最后得到经过修改后的源代码文件 hello.i。

第二阶段

编译器(complier)将 hello.i 翻译成 hello.s ,此时的 hello.s 仍然是文本文件,这时候得到的是一个汇编程序(assembly-program)。汇编语言对不同的高级语言和不同的编译器的输出结果使用的是相同的语言,比如 C 和 Fortran 。

第三阶段

汇编器(assembler)将 hello.s 翻译成机器语言,打包成可重定位程序(relocatable object program)hello.o 。这时候的的 hello.o 是二进制文件,而不再是文本文件。

第四阶段

程序中使用的标准库函数(如printf)由编译器提供,这些被提前编译好的库函数文件(如 printf.o )被链接器(Linker)合并到源程序中,最后输出可执行文件(executable object file)hello 。

从文本文件hello.txt到可执行文件hello的更多相关文章

  1. 为毛无法创建文本文件COM1.txt

    是的,windows系统下,右键,新建文本文件,将文件名编辑为COM1.txt,确认,保存……THEN....你会发现无论如何也无法创建一个文本文件,名为COM1.txt. 猜是COM1被作为了IO设 ...

  2. PHP读取文本文件(TXT)

    <? header("content-type:text/html;charset=utf-8"); $file = "demo.txt"; ###判断该 ...

  3. 纯文本文件 numbers.txt, 里面的内容(包括方括号)如下所示

    from collections import OrderedDict import xlwt with open('student.txt','r') as f: number_list = jso ...

  4. 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示

    import json from collections import OrderedDict import xlwt with open('student.txt',encoding='utf-8' ...

  5. 敏感词文本文件 filtered_words.txt,里面的内容为以下内容,当用户输入敏感词语时,则打印出 Freedom,否则打印出 Human Rights

    敏感词文件内容: 代码: def filtered_words(path='filtered_words.txt'): words = [] with open(path, 'r', encoding ...

  6. 如何将cmd中命令输出保存为TXT文本文件

    在使用Windows 中的cmd.exe工具时,有时候我们想要把我们的输入命令及结果保存起来, 但是用复制的方法过于麻烦:有时输出数据条数过大,会造成内容自动滚出屏幕,无法阅读,我们可将命令运行的结果 ...

  7. 将cmd中命令输出保存为TXT文本文件

    转自:https://www.cnblogs.com/hongten/archive/2013/03/27/hongten_windows_cms.html 例如:将Ping命令的加长包输出到D盘的p ...

  8. 批量处理txt文本文件到Excel文件中去----java

    首发地址:http://blog.csdn.net/u014737138/article/details/38120403 不多说了 直接看代码: 下面的FileFind类首先是找到文件夹下面所有的t ...

  9. 【Linux开发】将cmd中命令输出保存为TXT文本文件

    将cmd中命令输出保存为TXT文本文件 在网上看到一篇名为:"[转载]如何将cmd中命令输出保存为TXT文本文件" 例如:将Ping命令的加长包输出到D盘的ping.txt文本文件 ...

随机推荐

  1. eclipse里部署struts2

    Struts2是一个比较出色的基于MVC设计模式的框架,是由Struts1和WebWork发展而来的,性能也比较稳定,现在是Apache软件基金会的一个项目,下面就来配置Struts2进行初始化的开发 ...

  2. 转 HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解

    HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离之完全详解 scrollHeight: 获取对象的滚动高度. scrollLe ...

  3. @ResponseEntity返回值(怪异)

    定制相应头 /** * 将返回数据放在响应体中 * * ResponseEntity<String>:响应体中内容的类型 * @return */ //@ResponseBody @Req ...

  4. Vue项目中导入excel文件读取成js数组

    1. 安装组件 cnpm install xlsx --save 2. 代码 <template> <span> <input class="input-fil ...

  5. Kattis - boxes (LCA)

    Boxes There are NN boxes, indexed by a number from 11 to NN. Each box may (or not may not) be put in ...

  6. AcWing 208. 开关问题 (高斯消元+状压)打卡

    有N个相同的开关,每个开关都与某些开关有着联系,每当你打开或者关闭某个开关的时候,其他的与此开关相关联的开关也会相应地发生变化,即这些相联系的开关的状态如果原来为开就变为关,如果为关就变为开. 你的目 ...

  7. select into outfile的sql语句

             SELECT INTO…OUTFILE语句把表数据导出到一个文本文件中,并用LOAD DATA …INFILE语句恢复数据.但是这种方法只能导出或导入数据的内容,不包括表的结构,如果 ...

  8. Django2.0中得url路由path得用法

    Django2.0中,url得匹配规则更新了,在django1.0中,url是用正则表达式书写得,相对来说比较繁琐一些,在django2.0中进行了升级优化,改为了path from django.u ...

  9. 64、通过PickListValuesUtil,Schema查看下拉列表中的值

    public class PickListValuesUtil { public static Map<String,Object> getPicklistValues(String sO ...

  10. Python常用模块系列

    1.时间模块 import time,datetime # print(time.time()) #时间戳 # print(time.strftime("%Y-%m-%d %X") ...