반응형
간혹 리눅스 버전에 맞춰서 프로그래밍을 해야 할 때가 있다.
리눅스 버전이 올라가면서 구조체가 바뀌었을 때 같은 코드로는 동작하기 어렵다.
그래서 리눅스 verison을 체크해서 컴파일하는 방법을 사용한다
아래는 Test 예제이다.
LINUX_VERSION_CODE 와 KERNEL_VERSION(x,y,z) 매크로는 linux/version.h에 존재 하는데 내용은 다음과 같다.
#define LINUX_VERSION_CODE 132631
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
즉 위의 루틴은 비트를 16, 8개씩 밀어서 합산한 결과가 현재 리눅스 버전과 비교하는 것임.
Makefile
삽입한 모듈로 확인한 내용
작은 프로그램을 개발할 때는 필요성을 느끼지 못하겠지만 리눅스 버전에 상관없이 동작하는 호환성, 완성도 높은 프로그래밍을 하기 위해서는 꼭 필요하다.
참고 : http://galaxyra.linuxstudy.pe.kr/galaxyra/tag/LINUX_VERSION_CODE
반응형
'Linux > Kernel Analysis' 카테고리의 다른 글
부팅시 쉘 스크립트등 강제 실행하기. (0) | 2013.05.11 |
---|---|
모듈 빌트인 방법 및 확인 (0) | 2013.05.10 |
ubuntu 12.04 한/영 키 누를시 Command 창 이 뜰때.... (0) | 2013.04.28 |
ctags, cscope 설정 (0) | 2013.03.21 |
Ubuntu 12.04 설치후 기본 설정 (0) | 2013.03.15 |