男女生做羞羞網(wǎng)站網(wǎng)站管理與維護
本文僅供學(xué)習(xí)交流,嚴禁用于商業(yè)用途,如本文涉及侵權(quán)請及時聯(lián)系本人將于及時刪除
從MFC DLL中導(dǎo)出函數(shù)的另一種方法是在定義函數(shù)時使用關(guān)鍵字_declspec(dllexport)。這種情況下,不需要DEF文件。
導(dǎo)出函數(shù)的形式為:
declspec(dllexport) <返回類型> <導(dǎo)出函數(shù)名>(<函數(shù)參數(shù)>);
【例9.2】創(chuàng)建一個計算正方形和圓的面積的MFC?常規(guī)DLL的動態(tài)連接庫MFCLibrary2,使用關(guān)鍵字_declspec(dllexport)導(dǎo)出函數(shù)。
(1) 使用“MFC動態(tài)鏈接庫”項目模板,在chap09解決方案中新建一個名為MFCLibrary2的MFC動態(tài)鏈接庫項目。
(2) 在項目MFCLibrary2中添加導(dǎo)出函數(shù)AreaEllipse()和AreaSquare()。
① 在MFCLibrary2.h文件中添加函數(shù)原型。
extern "C" __declspec(dllexport) double AreaEllipse(double r);
extern "C" __declspec(dllexport) double AreaSquare(double x);
② 在MFCLibrary2.cpp文件中實現(xiàn)函數(shù)。
extern "C" __declspec(dllexport) double AreaEllipse(double r)
{return 3.1415926*r*r;
}extern "C" __declspec(dllexport) double AreaSquare(double x)
{return x*x;
}
(3) 編譯、鏈接程序,生成動態(tài)鏈接庫MFCLibrary2.dll
找到項目MFCLibrary2所在的路徑,在Debug文件夾下會看到生成的動態(tài)鏈接庫MFCLibrary2.dll和MFCLibrary2.lib,如圖所示。(解決方案下的Debug文件)