tty_driver struct
struct tty_driver {
int magic; /* magic number for this structure */
struct kref kref; /* Reference management */
struct cdev cdev;
struct module *owner;
const char *driver_name;
....
....
我不明白为什么它被称为'魔术'
答案 0 :(得分:0)
幻数通常指的是识别结构,文件类型或软件的特定常量。在这种情况下,tty_driver的幻数显然总是这样定义:
#define TTY_DRIVER_MAGIC 0x5402
在这样的上下文中使用幻数的一个实际用途可能是检查第一个sizeof(int)
字节的值,并在将剩余的接收字节转换为{{== 0x5402
之前确保它们tty_driver struct
1}}。在这方面,它也可能用于确定标题其余部分的适当字节顺序(小/大端)。