从文本文件hello.txt到可执行文件hello
第一阶段
使用编辑器编写的源代码 (.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的更多相关文章
- 为毛无法创建文本文件COM1.txt
是的,windows系统下,右键,新建文本文件,将文件名编辑为COM1.txt,确认,保存……THEN....你会发现无论如何也无法创建一个文本文件,名为COM1.txt. 猜是COM1被作为了IO设 ...
- PHP读取文本文件(TXT)
<? header("content-type:text/html;charset=utf-8"); $file = "demo.txt"; ###判断该 ...
- 纯文本文件 numbers.txt, 里面的内容(包括方括号)如下所示
from collections import OrderedDict import xlwt with open('student.txt','r') as f: number_list = jso ...
- 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示
import json from collections import OrderedDict import xlwt with open('student.txt',encoding='utf-8' ...
- 敏感词文本文件 filtered_words.txt,里面的内容为以下内容,当用户输入敏感词语时,则打印出 Freedom,否则打印出 Human Rights
敏感词文件内容: 代码: def filtered_words(path='filtered_words.txt'): words = [] with open(path, 'r', encoding ...
- 如何将cmd中命令输出保存为TXT文本文件
在使用Windows 中的cmd.exe工具时,有时候我们想要把我们的输入命令及结果保存起来, 但是用复制的方法过于麻烦:有时输出数据条数过大,会造成内容自动滚出屏幕,无法阅读,我们可将命令运行的结果 ...
- 将cmd中命令输出保存为TXT文本文件
转自:https://www.cnblogs.com/hongten/archive/2013/03/27/hongten_windows_cms.html 例如:将Ping命令的加长包输出到D盘的p ...
- 批量处理txt文本文件到Excel文件中去----java
首发地址:http://blog.csdn.net/u014737138/article/details/38120403 不多说了 直接看代码: 下面的FileFind类首先是找到文件夹下面所有的t ...
- 【Linux开发】将cmd中命令输出保存为TXT文本文件
将cmd中命令输出保存为TXT文本文件 在网上看到一篇名为:"[转载]如何将cmd中命令输出保存为TXT文本文件" 例如:将Ping命令的加长包输出到D盘的ping.txt文本文件 ...
随机推荐
- mongodb C#连接报错 Invalid credentials for database 'admin'
这2天学习mongodb3.2.9,用户设置好了,结果用C#查询的时候报错了,看字面意思是用户验证没通过,但是我用shell是完全没有问题的,后来网上搜了下,发现原来是我用的是旧驱动,旧驱动用的是旧的 ...
- iview table的render()函数的用法
语法:render:(h,params)=>{} render:(h,params) => { return h(" 定义的元素 ",{ 元素的性质 }," ...
- css 设置背景图片透明
最终效果: 背景图片css不变,再背景图片的里层元素设置css样式即可 opacity:0.4; filter:alpha(opacity=40); /* 针对 IE8 以及更早的版本 */
- spring 获取url参数
1. usl格式: http://localhost:8080/contact/delete/3 java代码 @RequestMapping(value="/delete/{id}&quo ...
- 【leetcode】1006. Clumsy Factorial
题目如下: Normally, the factorial of a positive integer n is the product of all positive integers less t ...
- linux(centos6) 常用操作
目录 一.开机关机 1.Linux centos重启命令: 2.Linux centos关机命令: 二.图形界面与命令界面的切换 1.修改/etc/inittab文件,文件中,最后一行id:5:ini ...
- 汇编学习(1)——win7 64位调出debug
一.安装方法: 1.下载一个dosbox和win7 32位debug.exe,安装dosbox,打开页面 2. 将debug.exe放入磁盘根目录,这里以D盘为例.在dosbox中输入mount ...
- django 里面的更新数据(update)
https://blog.csdn.net/qq_42606051/article/details/81162189 https://blog.csdn.net/luojie140/article/d ...
- 关于IDEA的一些问题
关于IDEA的一些问题 快速创建SpringBoot项目传送门:参考网址 创建Maven Web项目(带有webapp文件夹目录的项目)传送门:参考网址
- C++——智能指针
动态内存管理:new-delete——很难正确释放内存——智能指针 使用场景: 1.程序不知道自己要使用多少对象 2.程序不知道自己所需对象的准确类型 3.程序需要在多个对象之间共享数据 4.坚持只使 ...