2014-01-22 4 views

답변

0

매직 번호가 자주 식별 특정 상수를 참조라고 왜 이해가 안 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; 
    .... 
    .... 

의'마법 '값이 구조, 파일 유형 또는 소프트웨어 이 경우, tty_driver의 매직 넘버는 분명히 항상 다음과 같이 정의된다 :

#define TTY_DRIVER_MAGIC  0x5402 

이러한 맥락에서 매직 넘버 중 하나 개는 실제 사용은 첫째 sizeof(int) 바이트의 값을 확인하기 전에 그들이 == 0x5402을 만들 수 있습니다 수신 된 나머지 바이트를 tty_driver struct으로 캐스팅합니다. 이 점에서 헤더의 나머지 부분에 대해 적절한 바이트 순서 (작은/큰 엔디안)를 결정하는 데 사용할 수도 있습니다.