詳解VS2010實現(xiàn)創(chuàng)建并生成動態(tài)鏈接庫dll的方法
1、目的
在某些應(yīng)用程序場景下,需要將一些類或者方法編譯成動態(tài)鏈接庫dll,以便別的.exe或者.dll文件可以通過第三方庫的方式進行調(diào)用,下面就簡單介紹一下如何通過VS2010來創(chuàng)建動態(tài)鏈接庫。
2、新建動態(tài)鏈接庫
1) 打開VS2010,選擇Visual C++,新建win32控制臺應(yīng)用程序
2) 選擇應(yīng)用程序類型為DLL,點擊完成生成項目數(shù)據(jù)。
3、添加導(dǎo)出類,并修改項目配置
1) 添加MyFunction類,并設(shè)定為導(dǎo)出類
MyFunction.h
#pragma once #ifndef MYTESTDLL_EXPORTS #ifndef _DEBUG #pragma comment (lib, "MyTestDll.lib") #pragma message(" 自動鏈接到 MyTestDll.lib.") #else #pragma comment (lib, "MyTestDlld.lib") #pragma message(" 自動鏈接到 MyTestDlld.lib.") #endif #endif #ifdef MYTESTDLL_EXPORTS #define MYTESTAPI __declspec(dllexport) #else #define MYTESTAPI __declspec(dllimport) #endif class MYTESTAPI CMyFunction { public: CMyFunction(); ~CMyFunction(); // 加法 int add(int nA, int nB); // 減法 int minus(int nA, int nB); };
MyFunction.cpp
#include "StdAfx.h" #include "MyFunction.h" CMyFunction::CMyFunction() { } CMyFunction::~CMyFunction() { } int CMyFunction::add(int nA, int nB) { return nA + nB; } int CMyFunction::minus(int nA, int nB) { return nA - nB; }
4、修改項目配置
1) 修改dll文件生成位置
在輸出目錄將dll生成位置進行修改,以便尋找;同時為了方便區(qū)分Debug模式和Release模式,可將debug生成文件加上后綴-d。
2)修改lib文件生成位置
在 鏈接器-高級里面將lib的生成位置進行修改;同理,可將debug生成文件加上后綴-d。
3) 添加導(dǎo)出的預(yù)處理宏定義。
5、編譯生成
編譯后生產(chǎn)文件如下:
6、測試項目
用VS2010新建控制臺程序exe,然后引入上面的動態(tài)鏈接庫,進行使用測試。程序運行如下:
項目屬性修改如圖:
以上就是詳解VS2010實現(xiàn)創(chuàng)建并生成動態(tài)鏈接庫dll的方法的詳細(xì)內(nèi)容,更多關(guān)于VS創(chuàng)建生成動態(tài)鏈接庫dll的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
推薦幾款C/C++的編譯器、編譯環(huán)境(非常全面的比較)
這篇文章主要介紹了C/C++編譯器的一些易混淆概念,這里腳本之家小編特為大家分享一下,需要的朋友可以參考下2021-06-06C++設(shè)計模式編程中簡單工廠與工廠方法模式的實例對比
這篇文章主要介紹了C++設(shè)計模式編程中簡單工廠與工廠方法模式的實例對比,文中最后對兩種模式的優(yōu)缺點總結(jié)也比較詳細(xì),需要的朋友可以參考下2016-03-03C++?Qt開發(fā)之使用QUdpSocket實現(xiàn)UDP網(wǎng)絡(luò)通信
Qt 是一個跨平臺C++圖形界面開發(fā)庫,利用Qt可以快速開發(fā)跨平臺窗體應(yīng)用程序,本文主要介紹如何運用QUdpSocket組件實現(xiàn)基于UDP的網(wǎng)絡(luò)通信功能,需要的可以參考下2024-03-03