dll 呼叫格式問題 |
尚未結案
|
rechan
一般會員 發表:1 回覆:0 積分:0 註冊:2003-07-27 發送簡訊給我 |
請問各位高手,以下有些問題一直找不到解答 1. int pascal (*GETNUMBER) (void);
(FARPROC &)GETNUMBER=GetProcAddress(dll,"getNumber"); 2.typedef int (*GETNUMBER) (void);
GETNUMBER gNumber;
gNumber=(GETNUMBER)GetProcAddress(dll,"GetNumber"); 以上兩種呼叫 dll 程式有什麼不同?? 請高手指導 ..謝謝
|
miyu
中階會員 發表:13 回覆:96 積分:91 註冊:2003-05-01 發送簡訊給我 |
引言: 請問各位高手,以下有些問題一直找不到解答 1. int pascal (*GETNUMBER) (void); (FARPROC &)GETNUMBER=GetProcAddress(dll,"getNumber"); 2.typedef int (*GETNUMBER) (void); GETNUMBER gNumber; gNumber=(GETNUMBER)GetProcAddress(dll,"GetNumber"); 以上兩種呼叫 dll 程式有什麼不同?? 請高手指導 ..謝謝方法 1 是直接宣告一個變數 GETNUMBER, 這個變數的原型是一個 calling convention 為 pascal type, 傳回值為 int, 不帶參數. 方法 2 是先定義一個 User type, 其原型為一個 calling convention 為 __cdecl type, 傳回值為 int, 不帶參數. 兩個都是function pointer, 只是寫法不一樣. 然後再用這個 user type 去宣告一個變數 之後的 GetProcAddress() 都是對某個 DLL Module handle 去取得該function 的 address. --- 小葵..小葵有很多的夢想 等待薰下班回家, 並準備晚飯跟洗澡水 薰回家的時候, 對你說一聲 歡迎回家 在休息的日子, 兩個人坐在屋外的走廊上, 品嚐著我親自作的點心 薰如果累了, 替他搥搥肩; 冷了, 和薰一起擠著被爐 但是, 但是... 小葵最大的心願是...成為薰的..成為薰的妻子 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |