欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux動態(tài)庫函數(shù)的詳解

 更新時間:2017年10月31日 15:35:52   作者:walkingman321  
這篇文章主要介紹了Linux動態(tài)庫函數(shù)的詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分的內(nèi)容,需要的朋友可以參考下

Linux動態(tài)庫函數(shù)的詳解

加載動態(tài)庫

void *dlopen(const char *filename, int flag);

flag的可能值:

  •         RTLD_LAZY
  •         RTLD_NOW
  •         RTLD_GLOBAL
  •         RTLD_LOCAL
  •         RTLD_NODELETE (since glibc 2.2)
  •         RTLD_NOLOAD (since glibc 2.2)
  •         RTLD_DEEPBIND

這些flag的具體含義可使用man查看

返回動態(tài)庫中最近的一次錯誤

char *dlerror(void);

根據(jù)動態(tài)庫句柄和函數(shù)名稱,返回函數(shù)的地址

void *dlsym(void *handle, const char *symbol);

如果使用dlopen(NULL, <flag>)得到句柄,通過這個句柄可以查找所有函數(shù)符號,只要那個函數(shù)符號所在的dll在加載時指定了RTLD_GLOBAL 

關(guān)閉動態(tài)庫

int dlclose(void *handle);

根據(jù)函數(shù)地址,返回函數(shù)名稱和其它信息

注意傳入地址只要落在函數(shù)代碼空間范圍之內(nèi)即可,不需要是函數(shù)的起始地址

int dladdr(void *addr, Dl_info *info);
 
typedef struct {
   const char *dli_fname;/* Filename of defining object */
   void *dli_fbase;   /* Load address of that object */
   const char *dli_sname;/* Name of nearest lower symbol */
   void *dli_saddr;   /* Exact value of nearest symbol */
  } Dl_info;

 構(gòu)造函數(shù)和析構(gòu)函數(shù)(這兩個是屬性,而不是函數(shù))

__attribute__((constructor))
__attribute__((destructor))

例如:

__attribute__((constructor)) void before_main() 
{ 
    printf("before main/n"); 
} 
 
__attribute__((destructor)) void after_main() 
{ 
  printf("after main/n"); 
} 

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Shell字符串比較相等、不相等方法小結(jié)

    Shell字符串比較相等、不相等方法小結(jié)

    這篇文章主要介紹了Shell字符串比較相等、不相等方法小結(jié),本文直接給出代碼,但代碼中含有大量注釋,需要的朋友可以參考下
    2014-10-10
  • Linux?常用nvidia-smi命令詳解(最新推薦)

    Linux?常用nvidia-smi命令詳解(最新推薦)

    NVIDIA-smi?在?Linux?上附帶?NVIDIA?GPU?顯示驅(qū)動程序,以及?64?位?Windows?Server?2008?R2?和?Windows?7,這篇文章主要介紹了Linux?常用nvidia-smi命令詳解,需要的朋友可以參考下
    2023-01-01
  • 智能監(jiān)測自動重啟Apache服務(wù)器的Shell腳本

    智能監(jiān)測自動重啟Apache服務(wù)器的Shell腳本

    這篇文章主要介紹了智能監(jiān)測自動重啟Apache服務(wù)器的Shell腳本,實現(xiàn)監(jiān)控Apache不可用時,第一次強制重啟,第二次郵件通知管理員,需要的朋友可以參考下
    2014-07-07
  • win下調(diào)用putty執(zhí)行命令腳本分享

    win下調(diào)用putty執(zhí)行命令腳本分享

    這篇文章主要介紹了win下調(diào)用putty執(zhí)行命令腳本,可以利用這個實現(xiàn)一些自動化的工作,需要的朋友可以參考下
    2014-03-03
  • Linux?Shell如何用ssh命令統(tǒng)計分布式集群信息詳解

    Linux?Shell如何用ssh命令統(tǒng)計分布式集群信息詳解

    作為命令的ssh,作用就是在一臺linux機器上去登錄到另一臺linux機器,下面這篇文章主要給大家介紹了關(guān)于Linux?Shell如何用ssh命令統(tǒng)計分布式集群信息的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • shell在指定目錄下批量執(zhí)行sql腳本的實例

    shell在指定目錄下批量執(zhí)行sql腳本的實例

    今天小編就為大家分享一篇shell在指定目錄下批量執(zhí)行sql腳本的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Django中shell命令的使用

    Django中shell命令的使用

    Django的manage工具提供了shell命令,本文主要介紹了Django中shell命令的使用,方便直接在終端中執(zhí)行測試python語句,有需要的小伙伴可以參考下
    2021-05-05
  • Shell腳本實現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問題)

    Shell腳本實現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問題)

    這篇文章主要介紹了Shell腳本實現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問題),本文給出3個Shell腳本和一個Python腳本解決亂序排列文件內(nèi)容問題,需要的朋友可以參考下
    2015-01-01
  • Shell腳本的條件測試和if條件語句使用方法

    Shell腳本的條件測試和if條件語句使用方法

    這篇文章主要介紹了Shell腳本的條件測試和if條件語句使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • shell編程中for循環(huán)語句的實現(xiàn)過程及案例

    shell編程中for循環(huán)語句的實現(xiàn)過程及案例

    Bash?Shell中主要提供了三種循環(huán)方式:for、while和until,下面這篇文章主要給大家介紹了關(guān)于shell編程中for循環(huán)語句的實現(xiàn)過程及案例,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04

最新評論