1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      C語言從代碼中加載動態(tài)鏈接庫的過程

      本篇內(nèi)容主要講解“C語言從代碼中加載動態(tài)鏈接庫的過程”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C語言從代碼中加載動態(tài)鏈接庫的過程”吧!

      成都創(chuàng)新互聯(lián)專業(yè)提供光華機房服務器托管服務,為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購買光華機房服務器托管服務,并享受7*24小時金牌售后服務。

      函數(shù):void *dlopen(const char *filename, int flag);

      功能:打開動態(tài)鏈接庫文件

      參數(shù):filename 動態(tài)鏈接庫文件名

      flag 打開方式,一般為RTLD_LASY

      返回值:庫指針

      函數(shù):char *dlerror(void);

      功能:獲取錯誤值

      返回值:錯誤值

      函數(shù):void *dlsym(void *handle, const char *symbol);

      功能:獲取動態(tài)鏈接庫中指定函數(shù)的指針

      參數(shù):handle 庫指針

      symbol 函數(shù)名稱

      返回值:與參數(shù)symbol名稱對應的函數(shù)的指針

      函數(shù):int dlclose(void *handle);

      功能:關(guān)閉動態(tài)鏈接庫文件

      參數(shù):庫指針

      返回值:

      源碼

      /*main.c*/#include // 相關(guān)函數(shù)頭文件#include int main(void){  const char *src = "Hello Dymatic";  int (*pStrLen)(const char *);// 函數(shù)指針  void *pHandle = NULL;// 庫指針  char *pErr = NULL;// 錯誤指針     // 打開動態(tài)鏈接庫并檢查是否有錯誤發(fā)生  pHandle = dlopen("./libstr.so“, RTLD_LASY);  pErr = dlerror();  if(!pHandle || pErr != NULL){printf("Failed load library!\n%s\n", pErr);return -1;}     // 獲取StrLen函數(shù)地址并檢查是否有錯誤發(fā)生  pStrLen = dlsym(pHandle, "StrLen");  pErr = dlerror();  if(!pStrLen || pErr == NULL){printf("%s\n", pErr);return -1;}     // 調(diào)用StrLen函數(shù)  printf("The string length is:%d\n", pStrLen(src));     // 關(guān)閉庫文件  dlclose(pHandle);  return 0;]

      運行以下命令編譯成可執(zhí)行文件。-L./ 當前目錄,-lstr為StrLen函數(shù)所在庫文件,-ldl為dlopen等相關(guān)函數(shù)所在庫文件

      gcc -o test main.c -L./ -lstr -ldl

      到此,相信大家對“C語言從代碼中加載動態(tài)鏈接庫的過程”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!


      文章題目:C語言從代碼中加載動態(tài)鏈接庫的過程
      網(wǎng)站地址:http://www.ef60e0e.cn/article/pjeddc.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        永宁县| 保山市| 康马县| 荥阳市| 京山县| 林西县| 黑山县| 肇庆市| 德化县| 泾川县| 惠来县| 册亨县| 阿勒泰市| 通州区| 凯里市| 大丰市| 德阳市| 晋州市| 舒兰市| 株洲县| 来安县| 阿鲁科尔沁旗| 安泽县| 瑞安市| 逊克县| 江山市| 永清县| 本溪| 田阳县| 钟祥市| 长泰县| 沭阳县| 保山市| 高雄县| 三河市| 德江县| 南开区| 冀州市| 峨眉山市| 客服| 恩施市|