1樓:匿名使用者
動態呼叫的時候指標名不需要和原dll中函式一樣。基本過程是這樣的:
hmudole hmodle=getmudulehandle("你要使用的dll名字");
proc fun=(proc)getprocaddress(hmodule,"dll中函式名");
然後將fun轉換成你的函式形式,比如你要呼叫的dll中函式是int myfun(int a,int b)你可以這樣轉換:
typedef int (*myfun)(int a,int b);
(myfun)fun(10,20);//然後這樣呼叫函式指標和函式名都是一個指向函式入口地址的指標,函式入口地址是一個4位元組型別的值而已,函式指標指示一個儲存這個值的變數而已,名字只要合法就行,不需要和所指向的函式名一樣,而且,編譯後就沒函式名這概念了。
2樓:何處淬吳鉤
不太明白你的意思。函式指標是你在呼叫程式中自己定義的,名字當然可以與dll中的函式不同。你動態呼叫的話就用getadress(dll模組控制代碼,dll中的函式名)函式了。
函式指標 = getadress(dll模組控制代碼,dll中的函式名)函式了。
getadress好像是這樣的,具體拼寫記不太清楚,我現在手頭沒有vc,自己查下msdn吧。
getprocaddress是這個函式。
3樓:我不知道啊
h1為給dll的控制代碼
hinstance h1 = loadlibrary(...);
if(h1)
關於cad建立動態塊的問題,關於CAD建立動態塊的問題
類似你的序號動態塊問題,我以前弄過,可惜長時間不弄,都忘了。我弄的是機械的表面粗糙度動態塊,插入時,在輸入需要的粗糙度數值。現在就一直用著它。我沒事了在熟悉一下。建立動態塊的步驟 1 單擊 工具 選單 塊編輯器 2 在 編輯塊定義 對話方塊中執行以下操作之一 a.從列表中選擇一個塊定義。b.如果希望...
如何讓linux載入當前目錄的動態庫
可以放在當前目錄下,但是要設定一下庫檔案的路徑 ld library path usr local pet20 lib lib usr local lib export ld library path 這樣,在呼叫的時候就會自動從當前目錄找。如果是顯式呼叫則不用,只要在程式裡指定.so的檔案路徑就可...
C語言動態連結串列的問題,C語言動態連結串列問題
你自己malloc時對頭節點不是動態的 include stdio.h include malloc.h typedef struct node node void main else node head while node 0 8 0 1 0 6 0 2 0 9 0 7 include stdi...