1. makefile
使用makefile來編譯模組,不能直接使用gcc。
實際使用的是當前活動核心模組的makefile來完成相關工作的。
ifneq ($(kernelrelease),)
obj-m := hello.o calculate.o
else
kdir := /lib/modules/2.6.18-53.el5xen/build
all:
make -c $(kdir) m=$(pwd) modules
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers
endif
2. makefile解析
obj-m:編譯後生成的模組
-c $(kdir): 指定make的目錄是當前的核心源**目錄
-m=$(pwd):指定是外部模組,並且,指定模組檔案目錄是當前工作目錄(pwd)
3. 符號匯出
/proc/kallsyms:所有匯出符號
匯出樣例:calculate.c
export_symbol(add_integar);
export_symbol(sub_integar);
~
daemon程式設計小結
一.daemon的特點 必須由root啟動。它是非互動式程式,所以沒有控制中斷,無須使用者輸入。不能控制終端,所以無任何輸出,因此無論是向stderr還是stdout都需做特別處理。通常作為程序組和會話的領導程序。父程序是init,因為真正的父程序fork以後就exit了,是由init繼承的孤兒程序...
網路程式設計小結
做了乙個 tcp 和udp的服務端,但是現在測試老有問題,就是udp總會有那麼幾次超時,原因還沒找到,不過先總結一下網路的程式設計。首先預設的狀態下,recvfrom和recv都是阻塞的狀態,也就是沒接收到會一直阻塞,知道返回,但是可以通過select設定超時 timeval twait twait...
程式設計小結(1)
char strchr const char s,int c char strrchr const char s,int c include 函式說明 strchr 查詢字串s中第一次出現字元c的位置,並返回該字元以及該字元之後所有的字元 strrchr 查詢字串s中最後一次出現字元c的位置,同時返...