'2014/02'에 해당되는 글 3건

  1. 2014.02.26 kcompat.h - linux kernel version
  2. 2014.02.26 pointer to point matrix (double pointer? - 곧 수정
  3. 2014.02.20 30 즈음에

 

별건 아니고 e1000e driver 예전꺼를 최신 커널에서 컴파일 하려니까 오류가 나더라

원인을 찾아보니까 kernel 2.x에서 사용하던 kernel function 중 하나 kmap_atomic, kunmap_atomic 함수의

인자 하나가 없어졌다

 

요걸 어떻게 인텔에서 처리했나 찾아봤다

e1000e driver 구버전(2.x), e1000e driver 신버전(3.x)

을 보면 kcompat.h 이라는 헤더파일에 커널 버전에 따라서 호환성을 다르게 넣는 코드가 숨어있더라

예를 들면 SLE_VERSION_CODE 같은 녀석들 혹은

#if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) )

이런식의 코드들로 구분을 하더라

 

사용된 함수 정의를 undef로 날려버리고 새로 define 함수로 인자 하나를 다른거로 교체하느 방식으로 코드를 작성했다

 

이게 장점이 뭐냐면 c 파일에서 일일히 kmap_atomic 함수를 호출할 때마다 #if(LINUX_VERSION~~) 이런식으로 작성을 하면 엄청 코드가 난잡해지고 지저분해지는데

헤더파일에 저렇게 해주면 코드 가독성이 많이 증가해서 좋은 것 같다

 

인텔 형님들, 좋은 팁을 배워갑니다

 

아래는 다른 예시


 

 

 

'devel > code' 카테고리의 다른 글

쉘 스크립트 배열  (0) 2014.03.15
for loop  (0) 2014.03.04
문자열 배열  (0) 2013.07.06
c에서 linked list 자료형에 관계 없이 접근하기  (0) 2013.01.23
ntohs 같은 byte order 변경 함수  (0) 2012.10.24
Posted by 쵸코케키

#include <stdlib.h>

typedef struct __attribute__((packed)){
    int a;
    char b[2];
    //double c;
}st;
st* p;

int main()
{
    int i,j;
    st (*p)[6] =  malloc(sizeof(st)*4*32);
    //st (*p)[9] =  malloc(sizeof(st)*4*32);  // no problem?
    //st (*p)[32] =  malloc(sizeof(st)*4*32);
    printf("sizeof p[4]=%d\n", sizeof(p[4]));
    printf("sizeof p[5]=%d\n", sizeof(p[5]));

    printf("start address %p\n", p);
    for(i=0; i<4; i++)
        for(j=0; j<32; j++)
        {
            printf("p[%d][%d] address %p\n", i, j, &p[i][j]);
        }

    for(i=0; i<4; i++)
        for(j=0; j<32; j++)
        {
            printf("p[%d][%d] address %p\n", i, j, &p[i][j]);
            p[i][j].a = i*j;
            p[i][j].b[0] = '%';
            p[i][j].b[1] = '*';
            //p[i][j].c = 234.234;
        }
    /*
       for(i=0; i<4; i++)
       for(j=0; j<32; j++)
       printf("%d, %c, %c, %f\n", p[i][j].a, p[i][j].b[0], p[i][j].b[1], p[i][j].c);
       */

    return 0;
}

 

Posted by 쵸코케키

2014. 2. 20. 21:53 Volatile

30 즈음에

의미 없는 글들 써서 무엇하랴

가치 없는 낱말 조각들

다 지웠다

 

 

'Volatile' 카테고리의 다른 글

나이 30을 넘으니까 정말 몸이 이상하네  (0) 2014.04.27
취리히 톤할레 오케스트라(기돈 크레머 협연)  (0) 2014.04.25
행복하다  (0) 2014.01.19
괴롭다  (2) 2014.01.09
행복이 끊임없이 이어진다  (0) 2013.11.24
Posted by 쵸코케키
이전버튼 1 이전버튼

블로그 이미지
chocokeki
쵸코케키

공지사항

Yesterday
Today
Total

달력

 « |  » 2014.2
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

최근에 올라온 글

최근에 달린 댓글

글 보관함