首先新建乙個目錄(比如):
mkdir helloworld
然後進入到這個目錄:
cd helloworld
第一步:
vi hello.c
#include
#include
module_license("dual bsd/gpl");
static int hello_init(void)
printk(kern_alert "hello ,world\n");
return 0;
static void hello_exit(void)
printk(kern_alert "goodbye,cruel world\n");
module_init(hello_init);
module_exit(hello_exit);
第二步:
vi makefile
obj-m := hello.o
kdir := /lib/modules/$(shell uname -r)/build
pwd := $(shell pwd)
default:
$(make) -c $(kdir) subdirs=$(pwd) modules
第三步:
基本的程式寫好後,執行時遇到的一些問題和解決方案:
[lijun@myhost helloworld]$ /lib/modules/$(shell uname -r)/build
bash: shell: command not found
bash: /lib/modules//build: 沒有那個檔案或目錄
[lijun@myhost helloworld]$ echo /lib/modules/$(uname -r)/build
/lib/modules/2.6.35-arch/build
[lijun@myhost helloworld]$ ls /lib/modules/$(uname -r)/build
ls: 無法訪問/lib/modules/2.6.35-arch/build: 沒有那個檔案或目錄
[lijun@myhost helloworld]$ pacman -ss header
core/kernel26-headers 2.6.35.8-1
header files and scripts for building modules for kernel26
core/kernel26-lts-headers 2.6.32.25-2
第乙個驅動程式
原始出處 驅動程式的開發,向來是令人感到有所畏懼的,可能很多人像我一樣,看了很久卻還是一頭霧水,不得其門而入。我們今天就通過乙個簡單的程式來使讀者學會初步的驅動程式開發。在開發windows驅動程式之前,我們需要首先安裝ddk,win98及其以前的vxd我們就不要再考慮了 windows 2000 ...
第乙個驅動程式
從今天開始就要進入核心驅動程式部分了,在這一節裡就通過第乙個驅動程式來介紹一下核心驅動模組的編寫框架。static intfirst drv open struct inode inode,struct file file static ssize t first drv write struct ...
QGIS開發第乙個程式
2.先安裝qt和qtcreator 也是要注意跟qgis類庫所用的qt類庫版本一致 說一下遇到的問題,首先就是在qt creator建立第乙個程式時,需要選擇msvrt 2015 32位,注意跟上面你的類庫位數一致。而且編譯器要是vs編譯器,不然你的libs會出現unreference的情況。還有就...