Kernel Linked List Implementation

뻘글들 | 2010/10/08 21:31 | Posted by DMW
크리에이티브 커먼즈 라이선스
Creative Commons License


원래는 $kernel_root/include/linux/list.h 있는 파일인데..C루 구현한 쓰기 쉬운 circularly-linked list다. 여기 올려 놓은건...누가 prefetch 관련 기능을 제거한 버젼인데.... http://isis.poly.edu/kulesh/stuff/src/klist/  여기서 퍼왔다능.

어플리케이션단에서 쓰기 편하도록 아캐택쳐 디펜던시가 있는 기능을 제거한거라구 생각하면 편하겠따능. 구현에 대한 자세한 설명은 저 링크에 있으니까 보면 되는데....좀 옛날 커널 코드에서 따온걸 고친거 같다능.

사용법도 위에 링크를 따라가면 매우 잘 나와있고...긔찬으면 파일을 내려 받아서 주석을 보면 된다능. 얼핏보면 MS VC에서 쓸 수 있을꺼 같아 보이는데...제공하는 매크로 함수중에 일부가 GCC Extension을 사용해서 MS VC에서는 바루 가따 쓰지 못한다능. typeof라는 희안한 구문을 사용한다능.

보면 알겠지만...GCC Extension만 제외하면 매우 엘레강스하고 easy to use하다능.

신선함!

추가한거

clique흉 리플을 참고해서 MS VC에서도 쓸 수 있게 살짜쿵 손을 봤다능.


압축해놓은 프로젝트 파일에는 위에 링크로 걸어놓은 홈피에 있는 테스트 프로그램도 같이 들어있다능.
저작자 표시 비영리 동일 조건 변경 허락

댓글을 달아 주세요

  1. Favicon of http://clique.tistory.com BlogIcon clique 2010/10/06 08:45  댓글주소  수정/삭제  댓글쓰기

    저 매크로질 embeding linked list 방식은 freebsd로 부터 왔습니당 +_+
    리눅스의 경우 /usr/include/sys/queue.h 를 보시면,
    싱글/더블리 링크드 리스트가 있습니다.(tail queue같은 것도 있고)

    typeof는 사용자가 그냥 입력하게 하면(쿨럭) msvc에서도 잘 돌기도 하고..