想了一下,发现是这样的
新的passwds每220个字节记录一个用户信息,其中前192个字节为有效字节,把userdefin
e从4字节扩大到8字节,其余相同,所以在192个字节后面加上28个0就可以了。
【 在 atppp@bbs.stanford.edu-SPAM.no (Big Mouse) 的大作中提到: 】
: i686上应该都是32bit吧。其实struct有点BT的,像下面这个结构:
: struct {
: char a;
: int b;
: char c;
: }
: 如果编译设置了诡异的align优化你sizeof一把这个struct没准出来是12,赫赫。
: 普通操作都没问题但是memcpy类似结构就会出问题。所以那个转换程序虽然用memcpy
: 没啥问题但是我觉得这是放弃portability的一种做法。
--
FROM 219.224.195.142