c语言汇编过程
汇编过程实际上指把汇编语言代码翻译成目标机器指令的过程。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。目标文件中所存放的也就是与源程序等效的目标的机器语言代码。
目标文件由段组成。通常一个目标文件中至少有两个段:
代码段 :
该段中所包含的`主要是程序的指令。该段一般是可读和可执行的,但一般却不可写。
数据段:
主要存放程序中要用到的各种全局变量或静态的数据。一般数据段都是可读,可写,可执行的。
UNIX环境下主要有三种类型的目标文件:
1、可重定位文件
其中包含有适合于其它目标文件链接来创建一个可执行的或者共享的目标文件的代码和数据。
2、共享的目标文件
这种文件存放了适合于在两种上下文里链接的代码和数据。第一种事链接程序可把它与其它可重定位文件及共享的目标文件一起处理来创建另一个目标文件;第二种是动态链接程序将它与另一个可执行文件及其它的共享目标文件结合到一起,创建一个进程映象。
3、可执行文件
它包含了一个可以被 操作系统创建一个进程来执行之的文件。
汇编程序生成的实际上是第一种类型的目标文件。对于后两种还需要其他的一些处理方能得到,这个就是链接程序的工作了。
-
初学C语言的人最常问的几个问题
C语言是一门通用计算机编程语言,应用广泛。对于新手来说学习C语言并不是那么容易,下面是C语言初学者最常问的几个问题,欢迎阅读!1.多久能学会编程?这是一个没有答案的问题。每个人投入的时间、学习效率和基础都不一样。如果你每天都拿出大把的时间来学习,那么两三...
-
c语言—文件的创建与建立
今天要介绍的是有关文件的创建与读取的语法,事实上,c语言中对于这方面的`已经有相当经典且应用相当广泛的语法了,但是我今天想讲一讲关于c++中的相关语法,以下仅供参考!以下是代码:首先是文件的创建:#include#include#includeusingnamespacestd;intmain(){ofstreamout...
-
C语言输出菱形的方法
题目:输出行列都相等的菱形,如5行5列:行列123451*2***3*****4***5*分析:当行数等于总行数的一半时,*是递增的,递增为2。当行数大于总行数的一半时,*是递减的,递增为2。设有一个行列为n的菱形,我们用变量i作为行数,以0开始,ik作为n菱第i行要输出的*个数。则i<=n的中值(用m...
-
2017计算机二级C语言备考训练题
在复习阶段多做练习可以帮助我们巩固知识和提高做题速度以及掌握做题技巧等。下面是应届毕业生考试网小编为大家整理的2017年计算机二级C语言备考训练题,希望可以帮助到大家的学习!一、填空题(1)算法的基本特征是可行性、确定性、______和拥有足够的情报。答:有...