日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux symbol文件,LINUX EXPORT_SYMBOL_GPL及EXPORT_SYMBOL导出函数

發布時間:2025/4/5 linux 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux symbol文件,LINUX EXPORT_SYMBOL_GPL及EXPORT_SYMBOL导出函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

EXPORT_SYMBOL(),這個宏也是將函數導出讓所有模塊都可以使用,而EXPORT_SYMBOL_GPL()這個宏主要是給有GPL認證的模塊使用。

2)、EXPORT_SYMBOL標簽內定義的函數對全部內核代碼公開,不用修改內核代碼就可以在您的內核模塊中直接調用。

3)、EXPORT_SYMBOL(符號名);??EXPORT_SYMBOL_GPL(符號名)

一)主要作之一: 內核"導出"的符號表,這個表在insmod 時候會用到.

1./proc/kallsyms

cat /proc/kallsyms會打印出內核當前的符號表,例如:

...

d8834a24 t snd_free_sgbuf_pages [snd_page_alloc]

d8834ab5 t snd_malloc_sgbuf_pages [snd_page_alloc]

c014f906 U kmem_cache_alloc [snd_page_alloc]

c0106dcd U dma_alloc_coherent [snd_page_alloc]

...

其中第一列是該符號在內核地址空間中的地址;第二列是符號屬性,小寫表示

局部符號,大寫表示全局符號,具體含義參考man nm; 第三列表示符號字符串.

這里只能顯示EXPORT_SYMBOL,EXPROT_SYMBOL_GPL處理過的符號。

2.System.map內核符號文件

通過more /boot/System.map 可以查看內核符號列表。

可以顯示編譯好內核后所有在內核中的符號,模塊中的要另行查看。

3.通過nm vmlinux也可以查看內核符號列表

可以顯示編譯好內核后所有在內核中的符號,模塊中的要另行查看。

4.通過nm module_name可以查看模塊的符號列表

但是得到是相對地址,只有加載后才會分配絕對地址。比如:e1000模塊,如果e1000中的符號經過EXPORT_SYMBOL處理,

等加載后,我們可以通過more /boot/System.map和nm vmlinux命令查看到,但是沒有EXPORT_SYMBOL的,不能查看。

代碼如:

int __gpio_cansleep(unsigned gpio)

{

struct gpio_chip *chip;

總結

以上是生活随笔為你收集整理的linux symbol文件,LINUX EXPORT_SYMBOL_GPL及EXPORT_SYMBOL导出函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。