将自己写的经常复用的类封装成动态库的方法
生活随笔
收集整理的這篇文章主要介紹了
将自己写的经常复用的类封装成动态库的方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
C++的開發(fā)不像c#那么給力,基本上引用下就可以了,它的步驟比較繁瑣。
第一步:制作動態(tài)庫
? ? ?利用VC新建工程時選擇win32 dynamic-Link Library(空的工程),然后添加頭文件和cpp文件。假設(shè)你要封裝的類的名成是TransferFunction,添加頭文件
TransferFunction.h和TransferFunction.cpp到工程中。并將TransferFunction.h修改成:?
class __declspec(dllexport) TransferFunction
{
? ? ? ...
}
vc2010中已經(jīng)添加上了__declspec(dllexport)的自定義宏比較省事。
這樣編譯完就會產(chǎn)生TransferFunction.dll和TransferFunction.lib兩個文件。
第二步:如何使用這個dll
? ? ? 當(dāng)已經(jīng)生成dll后,有兩種方法可以在其它程序中調(diào)用dll中的類和成員函數(shù):
方法一:
? ? ? 1)把TransferFunction.dll和TransferFunction.lib復(fù)制到調(diào)用程序的執(zhí)行路徑下,注意不是debug路徑下。
? ? ? 2)在project->setting->link里添加TransferFunction.lib(或者用#pragma comment(lib, "TransferFunction.lib") )
? ? ? 3)把TransferFunction.h中的__declspec(dllexport)改成__declspec(dllimport)
然后復(fù)制到調(diào)用程序的執(zhí)行路徑下。
? ? ? 4)最后在主程序中就可以通過包含TransferFunction.h來使用TransferFunction類和它的成員函數(shù)。?
方法二(推薦):
? ? ? ?在方法一中,你每次建立一個工程都需要把 TransferFunction.dll,TransferFunction.lib,TransferFunction.h三個文件拷貝到工程里面 去,事實上這只發(fā)揮了dll對類的代碼保護(hù)的功能,并沒有多大的減輕編程人員的工作量,下面的方法可以減少編程人員的工作量,具體步驟:
1:將TransferFunction.dll扔到windows/system32下
2:將.TransferFunctionlib扔到VC的lib目錄里
3:將方法一中的TransferFunction.h扔到VC的include目錄里
4:同方法一的最后一步。
? ? ? ? ?以后你就可以像使用Opengl的glut、glui等庫一樣使用你自己封裝的一個經(jīng)常復(fù)用的類了。
總結(jié)
以上是生活随笔為你收集整理的将自己写的经常复用的类封装成动态库的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员谈谈我的职场观(一)
- 下一篇: 拿起电话就开始给(飞鸽传书3.0)