一.makefile文件的定义
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
DEFINES += _KERNEL_
DEFINES += MODULE
INCLUDEPATH +=/lib/modules/4.15.0-73-generic/build \
/lib/modules/4.15.0-73-generic/build/include \
/lib/modules/4.15.0-73-generic/build/arch/x86 \
/lib/modules/4.15.0-73-generic/build/arch/x86/include
SOURCES += \
khello.c
二.源文件定义
#include<linux/module.h>
#include<linux/init.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("innoink");
MODULE_DESCRIPTION("hello world module");
static int __init khello_init(void){
printk(KERN_ERR"hello world!");
return 0;
}
static void __exit khello_exit(void){
printk(KERN_EMERG"hello exit");
}
module_init(khello_init)
module_exit(khello_exit)
三..pro文件配置
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
DEFINES += _KERNEL_
DEFINES += MODULE
INCLUDEPATH +=/lib/modules/4.15.0-73-generic/build \
/lib/modules/4.15.0-73-generic/build/include \
/lib/modules/4.15.0-73-generic/build/arch/x86 \
/lib/modules/4.15.0-73-generic/build/arch/x86/include
SOURCES += \
khello.c
四.删除build步骤中的qmake步骤