用c語(yǔ)言寫(xiě)動(dòng)態(tài)鏈接庫(kù)

用c語(yǔ)言寫(xiě)動(dòng)態(tài)鏈接庫(kù)

ID:12326571

大小:31.50 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2018-07-16

用c語(yǔ)言寫(xiě)動(dòng)態(tài)鏈接庫(kù)_第1頁(yè)
用c語(yǔ)言寫(xiě)動(dòng)態(tài)鏈接庫(kù)_第2頁(yè)
用c語(yǔ)言寫(xiě)動(dòng)態(tài)鏈接庫(kù)_第3頁(yè)
用c語(yǔ)言寫(xiě)動(dòng)態(tài)鏈接庫(kù)_第4頁(yè)
用c語(yǔ)言寫(xiě)動(dòng)態(tài)鏈接庫(kù)_第5頁(yè)
資源描述:

《用c語(yǔ)言寫(xiě)動(dòng)態(tài)鏈接庫(kù)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、近來(lái)又有人在群里問(wèn)如何用c語(yǔ)言編制dll文件(動(dòng)態(tài)鏈接庫(kù))。原來(lái)沒(méi)有對(duì)這個(gè)問(wèn)題太在意過(guò),也沒(méi)有嘗試過(guò)任何解決方案,畢竟原來(lái)我是用vb的(現(xiàn)在用.net),做個(gè)dll只不過(guò)是點(diǎn)選一下建立activeX?dll工程的圖標(biāo)而已。今天在網(wǎng)上與朋友聊天,看了他指給我的幾個(gè)幾個(gè)文件,用MingW將C程序編譯成dll文件的例子,我恍然大悟,原來(lái)講C程序編譯成dll文件只不過(guò)是在要公開(kāi)的接口函數(shù)聲明前面加上幾個(gè)特定的修飾符而已。于是用dev-cpp建了個(gè)dll的默認(rèn)文檔,一切都很明了。(我把源代碼貼在下面)/*dll.h文件*/

2、#ifndef?_DLL_H_#define?_DLL_H_#if?BUILDING_DLL#?define?DLLIMPORT?__declspec?(dllexport)#else?/*?Not?BUILDING_DLL?*/#?define?DLLIMPORT?__declspec?(dllimport)#endif?/*?Not?BUILDING_DLL?*/DLLIMPORT?void?HelloWorld?(void);#endif?/*?_DLL_H_?*//*dllmain.c文件*//*?Rep

3、lace?"dll.h"?with?the?name?of?your?header?*/#include?"dll.h"#include?#include?#include?DLLIMPORT?void?HelloWorld?(){????MessageBox?(0,?"Hello?World?from?DLL!",?"Hi",?MB_ICONINFORMATION);}近來(lái)又有人在群里問(wèn)如何用c語(yǔ)言編制dll文件(動(dòng)態(tài)鏈接庫(kù))。原來(lái)沒(méi)有對(duì)這個(gè)問(wèn)題太

4、在意過(guò),也沒(méi)有嘗試過(guò)任何解決方案,畢竟原來(lái)我是用vb的(現(xiàn)在用.net),做個(gè)dll只不過(guò)是點(diǎn)選一下建立activeX?dll工程的圖標(biāo)而已。今天在網(wǎng)上與朋友聊天,看了他指給我的幾個(gè)幾個(gè)文件,用MingW將C程序編譯成dll文件的例子,我恍然大悟,原來(lái)講C程序編譯成dll文件只不過(guò)是在要公開(kāi)的接口函數(shù)聲明前面加上幾個(gè)特定的修飾符而已。于是用dev-cpp建了個(gè)dll的默認(rèn)文檔,一切都很明了。(我把源代碼貼在下面)/*dll.h文件*/#ifndef?_DLL_H_#define?_DLL_H_#if?BUILDI

5、NG_DLL#?define?DLLIMPORT?__declspec?(dllexport)#else?/*?Not?BUILDING_DLL?*/#?define?DLLIMPORT?__declspec?(dllimport)#endif?/*?Not?BUILDING_DLL?*/DLLIMPORT?void?HelloWorld?(void);#endif?/*?_DLL_H_?*//*dllmain.c文件*//*?Replace?"dll.h"?with?the?name?of?your?heade

6、r?*/#include?"dll.h"#include?#include?#include?DLLIMPORT?void?HelloWorld?(){????MessageBox?(0,?"Hello?World?from?DLL!",?"Hi",?MB_ICONINFORMATION);}BOOL?APIENTRY?DllMain?(HINSTANCE?hInst?????/*?Library?instance?handle.?*/?,?????

7、??????????????????DWORD?reason????????/*?Reason?this?function?is?being?called.?*/?,???????????????????????LPVOID?reserved?????/*?Not?used.?*/?){????switch?(reason)????{??????case?DLL_PROCESS_ATTACH:????????break;??????case?DLL_PROCESS_DETACH:????????break;???

8、???case?DLL_THREAD_ATTACH:????????break;??????case?DLL_THREAD_DETACH:????????break;????}????/*?Returns?TRUE?on?success,?FALSE?on?failure?*/????return?TRUE;}關(guān)于以上代碼的幾點(diǎn)解釋?zhuān)阂?、__declspec?(dllex

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。