在 Linux 核心代碼,特别是驅動代碼中經常見到的用法是使用一個标準結構,後面的代碼基于這個結構來實作,類似面向對象的多态特性。
在 C 語言裡面借助結構體和函數指針實作的這個功能,這裡我們寫了個例子,提取了關鍵代碼:
在 GCC 編譯器編譯運作結果:
jiangxd@ubuntu-server:/home/Atmel_android/jiangxd/workspace/codejoke$ gcc -o struct struct.c
jiangxd@ubuntu-server:/home/Atmel_android/jiangxd/workspace/codejoke$ ./struct
Jiang XD is powerful