第一阶段

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

第二阶段

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

第三阶段

汇编器(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. java 数组的定义

    package java03; /* 数组的初始化:就是创建一个数组,并向其中古语一些默认的值 两种常见的初始化方式: 1.动态初始化(指定长度) 2.静态初始化(指定内容) 动态初始化数组格式: 数 ...

  2. 数组(R语言)

    myarray = <- array (vector, dimensions, dimnames) 例如,生成一个2*3*4的数组: dim1 <- c("A1",&q ...

  3. matplotlib不显示图片

    import matplotlib.pyplot as plt 绘制好图像之后,需要使用plt.show()才会显示出图片.

  4. Python基础教程(010)--第一个程序Hello Python

    前言 会编写Hello Python源程序 内容 1,在桌面下,新建Python目录 2,在认识的Python目录下,新建一个HelloPython的文件 linux下: touch HellPyth ...

  5. Xcode 5 下的单元测试

    新版Xcode 5和Server发布以后,apple对单元测试的支持是越来越好了.从这一点看出apple对单元测试的也是越来越重视了. 这篇Blog就简单的介绍这集成化测试功能. Server更新后是 ...

  6. JS基础入门篇(二十四)—DOM(上)

    1.常用的节点类型,nodeType,attributes,childNodes. 1.元素节点 - 1 2.属性节点 - 2 3.文本节点 - 3 4.注释节点 - 8 5.文档节点 - 9 查看节 ...

  7. JAVA 的StringBuffer类

    StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存 ...

  8. 数据库的显示、创建、使用 、用户授权管理及忘记root用户后重置密码

    1.显示数据库 show databases; 默认的数据库及大致功能: mysql -- 用户权限 相关数据 test --用于用户测试数据 information_schema -MySQL 本身 ...

  9. Emgucv图像处理工具

    此工具是当年自己在学习Emgucv的时候,慢慢积累的,包含了常用的图像处理算法,非常适合新人学习,现放出源码,由于是以前做的,功能不全. 当时Emgucv的学习资料非常之少,没有一本书是讲Emgucv ...

  10. jquery与其他js冲突

    var $j=JQuery.noConflict(); $j('#msg').hide();//此处$j就代表JQuery //重命名以下,把$改为$j