当前位置: 技术问答>linux和unix
很菜的问题?
来源: 互联网 发布时间:2015-03-09
本文导语: 1、为什么linux源码里有很多类似这样的 do { ...; }while(0); 直接写...不好吗? 2、EXT2_NAME_LEN为什么是255? 例如,已经按字节对齐, struct ext2_dir_entry { __u32 inode; /* inode number */ __u16 rec_len; /* directory entry lenth */ __...
1、为什么linux源码里有很多类似这样的
do
{
...;
}while(0);
直接写...不好吗?
2、EXT2_NAME_LEN为什么是255?
例如,已经按字节对齐,
struct ext2_dir_entry
{
__u32 inode; /* inode number */
__u16 rec_len; /* directory entry lenth */
__u8 name_len; /* name length */
__u8 file_type; /* file type */
char name[EXT2_NAME_LEN]; /* file name */
};
上面的目录项结构里,前四个域总共8个字节,符合效率,后面的name数组255个字节,这样就不在是4的整数倍了。
请指教!
do
{
...;
}while(0);
直接写...不好吗?
2、EXT2_NAME_LEN为什么是255?
例如,已经按字节对齐,
struct ext2_dir_entry
{
__u32 inode; /* inode number */
__u16 rec_len; /* directory entry lenth */
__u8 name_len; /* name length */
__u8 file_type; /* file type */
char name[EXT2_NAME_LEN]; /* file name */
};
上面的目录项结构里,前四个域总共8个字节,符合效率,后面的name数组255个字节,这样就不在是4的整数倍了。
请指教!
|
1.为了保证必执行一次,因为while(){}有可能不执行
2.不是很清楚,但目录的长度的256是很多系统的约定,不便于减短.
你确认是 pack(1)的么?
2.不是很清楚,但目录的长度的256是很多系统的约定,不便于减短.
你确认是 pack(1)的么?
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。