系列文章目录
这个学期我们进行学习了计算机组成原理的课程,我认为该课程十分的有趣。该文章将是计算机组成原理系列的第一篇文章!
文章目录
系列文章目录
前言
一、.c文件到可执行.exe文件经历了什么?
二、2,定义 int a=0x12345678; 请使较为简单的代码确定你机器的存储模式是大端模式还是小端模式(默认使用C语言)
三、关于边界对齐
总结
前言
我以前写了这么多的代码,学到这里,才发现原来在内存中还有大小端与边界对齐这些奇妙的东西。我们来了解下它吧。
提示:以下是本篇文章正文内容,下面案例可供参考
一、.c文件到可执行.exe文件经历了什么?
使用gcc编译系统分步翻译.c文件。依次得到预处理器的输出hello.i,编译器输出hello.s,汇编器输出hello.o,链接器输出hello.exe。其中,hello.i 和 hello.s 为文本格式,hello.o 和 hello.exe为二进制格式。
.i文件本质上还是高级语言源程序,.c预处理到.i文件,会对源程序中以#号开头的预编译命令进行处理,如果是#include,那么会将#include后面的文件内容嵌入到源程序中,生成信息量更大的.i文件。
.s文件是由汇编语言描述的。在.s文件中可以找到与hello.c 下功能上相对应代码段。
.o文件是.s文件上的汇编语言转换成的二进制序列。
.exe 是在.o文件上进行链接,将多个可重定位的文件和标准库函数合并,生成一个可执行的目标文件。
二、2,定义