计算机组成原理 实验一 大小端与边界对齐

这篇博客探讨了计算机的大小端存储模式和内存边界对齐。通过编写C语言程序,作者展示了如何确定机器是大端模式还是小端模式,并详细解释了结构体在内存中的布局以及#pragma pack(n)指令对数据对齐的影响。实验内容包括预处理、编译、汇编和链接的过程,以及结构体在不同对齐设置下的存储细节。
摘要由CSDN通过智能技术生成

实验一 大小端与边界对齐

1,编写hello.c程序,使用gcc编译系统分步翻译该程序。
(1)依次得到预处理器的输出hello.i,编译器输出hello.s,汇编器输出hello.o,链接器输出hello.exe;
在这里插入图片描述

(2)分别打开四个输出文件hello.i、hello.s、hello.o、hello.exe,哪些文件是文本格式,哪些文件是二进制格式?
答:.i 和.s 为文本模式,.o 和.exe为二进制
(3)四个输出文件hello.i、hello.s、hello.o、hello.exe相较于源文件hello.c,依次发生了哪些变化? 答:预处理 汇编 编译 链接
2,定义 int a=0x12345678; 请使较为简单的代码确定你机器的存储模式是大端模式还是小端模式(默认使用C语言,后同);
int a = 1;
char pa = (char)(&a);
if((*pa) == 1)
{printf(“小端模式\n”);}
else
{printf(“大端模式\n”);}
**return 0;

3,定义结构体如下:**


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值