링크 ux 모듈 프로 그래 밍 (1) - 모듈 불 러 오기
1. 나중에 작 성 된 모듈 을 저장 하기 위해 먼저 디 렉 터 리 modules 를 만 듭 니 다.다음 에 하위 디 렉 터 리 hello 를 만 들 고 이 절 에 모듈 을 만 드 는 위 치 를 만 듭 니 다.
2. 원본 파일 hello. c 를 작성 합 니 다. 코드 는 다음 과 같 습 니 다.
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_INFO "Hello, world!
");
return 0;
}
static void hello_exit()
{
printk(KERN_INFO "Hello, exit!
");
}
module_init(hello_init);
module_exit(hello_exit);
3. Makefile 파일 을 작성 합 니 다. 다음 과 같 습 니 다.
KERNEL_DIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
module-objs := hello.o
obj-m := module.o
default:
$(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules
여기 서 먼저 hello. c 를 hello. o 로 컴 파일 한 다음 에 hello. o 를 module. o 로 합 친 다음 에 불 러 올 수 있 는 모듈 module. ko 를 생 성 합 니 다.사실 module. o 를 통 하지 않 고 hello. o 로 불 러 올 수 있 는 모듈 을 직접 만 들 수도 있 습 니 다.다만 Liux 습관 적 인 방법 은 모든 대상 파일 을 대상 파일 에 합 친 다음 에 다른 작업 을 하 는 것 입 니 다.
4. 모듈 을 컴 파일 하고 불 러 옵 니 다.
$make
컴 파일 생 성 module. ko
$sudo insmod module.ko
모듈. ko 를 커 널 모듈 에 추가 합 니 다.
$lsmod
모듈 모듈 을 포함 하여 불 러 온 모듈 목록 보기
$sudo rmmod module
마 운 트 해제 모듈 모듈
$dmesg | less
최근 기록 5 개 를 인쇄 하면 helloinit 와 helloexit 에서 인쇄 된 정보.
이제 우 리 는 모듈 컴 파일 로 딩 의 절 차 를 완전히 알 게 되 었 으 며, 커 널 로 들 어 가 는 문 을 여 는 것 과 같다.앞으로 점점 더 많은 커 널 API 를 접 하 게 될 것 이 고 우리 가 할 수 있 는 일 도 많아 질 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Linux Shell 프로 그래 밍 - 텍스트 처리 grep, sed사용자 가 지정 한 '모드' 에 따라 대상 텍스트 를 일치 하 게 검사 하고 일치 하 는 줄 을 인쇄 합 니 다. ##포함 되 지 않 음, 역방향 일치 \ ##키워드 앞 뒤 가 맞지 않 고 키워드 만 일치 합 니 다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.