相信很多朋友都遇到過以下問題,就是VC6.0創建與調用動態鏈接庫的操作教程 。針對這個問題,今天本站小編就搜集了網上的相關信息,給大家做個VC6.0創建與調用動態鏈接庫的操作教程的解答 。希望看完這個教程之后能夠解決大家VC6.0創建與調用動態鏈接庫的操作教程的相關問題 。
這期教程是為各位講解在VC6.0如何創建與調用動態鏈接庫,感興趣的就趕緊去下文學習下吧,相信你們會喜歡 。
VC6.0創建與調用動態鏈接庫的操作教程

靜態鏈接庫與動態鏈接庫區別:
靜態鏈接庫:lib中的指令被直接包含在最終生成的EXE文件中 。
動態鏈接庫:dll不必被包含在最終的EXE中,EXE文件執行時可以動態地引用和卸載DLL文件 。
同時,靜態鏈接庫中不能再包含其他的動態鏈接庫或靜態庫,而動態鏈接庫中可以包含其他的動態或靜態庫 。
VC支持的DLL:
DLL的編制與具體的編程語言及編譯器無關,動態鏈接庫隨處可見,VC支持三種DLL:非MFC動態庫、MFC規則DLL和MFC擴展DLL 。DLL導出函數(或變量、類)可供應用程序調用;DLL內部函數只能在DLL程序內使用,應用程序無法調用它們 。
導出函數的聲明方式:
一種在函數聲明類型和函數名之間加上“_declspec(dllexport)” 。
另外一種采用模塊定義(.def)文件聲明,需要在庫工程中添加模塊文件,格式如下:
LIBRARY 庫工程名稱
【分享VC6.0創建與調用動態鏈接庫的操作教程】EXPORTS 導出函數名
DLL的調用方式:
一種靜態調用,由編譯系統完成對DLL的加載和應用程序結束時DLL的卸載 。
另外一種動態調用,由編程者用API函數加載和卸載DLL(DLL加載—DLL函數地址獲取—DLL釋放)方式 。
所有庫工程編譯時必須Release方式:
Build—set active configuration—選擇庫工程的release方式
示例:

一、 函數----創建動態鏈接庫(MFC規則DLL)
1. New--projects--MFC AppWizard(dll)--Regular DLL using shared MFC DLL
//取名為MFC_dll
2. def文件中添加:函數名(Add_new)
3. h文件中添加:外部函數聲明//求和函數,函數名為Add_new
extern \"C\" __declspec(dllexport) int __stdcall Add_new(int a,int b);
4. cpp文件中添加: 外部函數實現
extern \"C\" __declspec(dllexport) int __stdcall Add_new(int a,int b)
{
return a b;
}
5. build--set active configuration--win32 release--ok
6. 生成
7. 根目錄下release文件夾中dll,lib與根目錄下h文件即為所需

二、 函數----調用動態鏈接庫(把MFC_dll.dll和MFC_dll.lib拷到工程所在目錄)
//靜態調用(.h可以寫到.cpp文件中)
1. new--projects--win32 console application--an empty project
2. 添加h文件:(test.h)
#pragma comment(lib,\"MFC_dll.lib\") //告訴編譯器DLL相對應的lib文件所在路徑和文件名
extern \"C\" _declspec(dllimport) int _stdcall Add_new(int a,int
b);//聲明導入函數
3. 添加cpp文件:(main.cpp)
#include \"test.h\"
int main()
{
cout<
return 0;
}
//動態調用
#include
#include
typedef int (* lpAddFun)(int ,int);//定義一個與Add_new函數接受參數類型和返回值均相同的函數指針類型
int main()
{
HINSTANCE hDll;//句柄
lpAddFun addFun;//函數指針
hDll=LoadLibrary(\"dllTest.dll\");//動態加載DLL模塊句柄
if(hDll)
推薦閱讀
- 小編分享python 2.7虛擬環境安裝的具體操作步驟 小編分享列王紀下二十四章解經
- 我來分享vc6.0 中無法添加控件的操作教程 我來分享故事教案
- 我來教你vc6.0改變字體形狀和大小的操作教程 我來教你登dua郎什么意思
- 小編分享華為p30pro設置抬手亮屏的操作步驟。
- 我來分享在華為mate20x中設置相機九宮格的圖文教程。
- 分享在vivo Z3i中設置字體樣式的圖文教程。
- 小編分享在vivo x21中設置字體樣式的具體步驟。
- 分享在vivo vivo x21i中設置字體樣式的圖文教程。
- 我來分享在vivo nex中設置字體樣式的具體方法。
- 分享在有貨里進行換貨的基礎操作。
