리눅스 커널을 보던 중 Container_of 라는 매크로라는 녀석을 자주 보게 된다.
container_of - cast a member of a structure out to the containing structure ARGUMENTS ptr type member |
하는 역활은 한 구조체의 멤버만 알고 있을 경우 그 구조체의 시작 주소를 구할 때 사용한다. 예를 들어 다음과 같은 경우에 사용된다.
struct tagTEMP { int X; int Y; struct list *next; }; void calc(struct list *node ) { struct tagTEMP *pTEMP; pTEMP = container_of(next, struct tagTEMP, next ); } |
'프로그래밍 > 리눅스 드라이버' 카테고리의 다른 글
쓰레드 동기화(synchronization) (0) | 2013.08.14 |
---|---|
make 간단 설명 (0) | 2013.08.14 |
GCC 옵션 간단하게 정리하기 (0) | 2013.08.14 |
모듈 프로그래밍 #2 (0) | 2013.08.14 |
모듈 프로그래밍 #1 (0) | 2013.08.14 |