游客:
注册
|
登录
|
帮助
Linux伊甸园论坛
»
C/C++ (STL/boost)
» 一个C语言内存对齐的问题
IBM 集群技术资源全面接触
‹‹ 上一主题
|
下一主题 ››
15
1/2
1
2
››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: 一个C语言内存对齐的问题
hqs988
新生入学
注册用户
UID 114730
精华 0
积分 0(
积分有什么用?
)
帖子 4
阅读权限 10
注册 2005-3-29
状态 离线
#1
使用道具
发表于 2007-10-8 09:16
资料
个人空间
短消息
加为好友
一个C语言内存对齐的问题
/**************one.c *********************/
Linux伊甸园论坛X.cb"q"`
#include <stdio.h>
j%m)h{5it9N,b9k
typedef struct data
www.linuxeden.com&Oj(T#~rl
{
$EU ~9^dgX
char a;
$K{8j(fxd\
short b;
}]n[:J:\^Linux伊甸园论坛
double c; /* 为什么加上此句,windows下与linux执行结果就不一致了 */
[-R I pa
char d;
www.linuxeden.comcmfE;HIJ2MN1Cq
}my_data;
pZ
q%c:@ p&cL~www.linuxeden.com
R:Qc ?db
int main(void)
-a#Q9Z B-Ln`Linux伊甸园论坛
{
*}[4t"j RZ]+q
printf("sizeof(short)=%d\n",sizeof(short));
8IQM+Ct
S{*w
printf("sizeof(double)=%d\n",sizeof(double));
www.linuxeden.com*m2[ y
`C)s2Tu,?
printf("sizeof(my_data)=%d\n",sizeof(my_data));
!S4Lg[zs \
cRLinux伊甸园论坛
return 0;
n
L7at$S.E&]:\
}
不容错过的IBM 集群技术资源汇总
dearvoid
版主
Clark J. Wang
UID 26605
精华
26
积分 63(
积分有什么用?
)
帖子 4816
阅读权限 100
注册 2002-10-12
来自 Beijing, China
状态 离线
#2
使用道具
发表于 2007-10-8 09:26
资料
个人空间
短消息
加为好友
一般来讲 linux 上是按 4 字节对齐的, 不晓得 windows 上会如何
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间
dearvoid
版主
Clark J. Wang
UID 26605
精华
26
积分 63(
积分有什么用?
)
帖子 4816
阅读权限 100
注册 2002-10-12
来自 Beijing, China
状态 离线
#3
使用道具
发表于 2007-10-8 09:31
资料
个人空间
短消息
加为好友
FYI:
v0iK0Q|O
QUOTE:
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
B K\xl*sO
[$$=4349 $?=0]
; cat foo.c
`|VY!a'l/en7HLinux伊甸园论坛
#include <stdio.h>
*[p ViQ
N["]
k_X'YVS
typedef struct {
F,M l@Dj^ f[
char a;
E;Eo1\/?#{Q
short b;
xP1E!T`0W
double c;
,rB'[R o
char d;