日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

将自己写的经常复用的类封装成动态库的方法

發布時間:2025/3/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将自己写的经常复用的类封装成动态库的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C++的開發不像c#那么給力,基本上引用下就可以了,它的步驟比較繁瑣。
第一步:制作動態庫


? ? ?利用VC新建工程時選擇win32 dynamic-Link Library(空的工程),然后添加頭文件和cpp文件。假設你要封裝的類的名成是TransferFunction,添加頭文件


TransferFunction.h和TransferFunction.cpp到工程中。并將TransferFunction.h修改成:?


class __declspec(dllexport) TransferFunction
{
? ? ? ...
}
vc2010中已經添加上了__declspec(dllexport)的自定義宏比較省事。


這樣編譯完就會產生TransferFunction.dll和TransferFunction.lib兩個文件。


第二步:如何使用這個dll
? ? ? 當已經生成dll后,有兩種方法可以在其它程序中調用dll中的類和成員函數:


方法一:


? ? ? 1)把TransferFunction.dll和TransferFunction.lib復制到調用程序的執行路徑下,注意不是debug路徑下。


? ? ? 2)在project->setting->link里添加TransferFunction.lib(或者用#pragma comment(lib, "TransferFunction.lib") )


? ? ? 3)把TransferFunction.h中的__declspec(dllexport)改成__declspec(dllimport)


然后復制到調用程序的執行路徑下。


? ? ? 4)最后在主程序中就可以通過包含TransferFunction.h來使用TransferFunction類和它的成員函數。?
方法二(推薦):
? ? ? ?在方法一中,你每次建立一個工程都需要把 TransferFunction.dll,TransferFunction.lib,TransferFunction.h三個文件拷貝到工程里面 去,事實上這只發揮了dll對類的代碼保護的功能,并沒有多大的減輕編程人員的工作量,下面的方法可以減少編程人員的工作量,具體步驟:
1:將TransferFunction.dll扔到windows/system32下
2:將.TransferFunctionlib扔到VC的lib目錄里
3:將方法一中的TransferFunction.h扔到VC的include目錄里
4:同方法一的最后一步。
? ? ? ? ?以后你就可以像使用Opengl的glut、glui等庫一樣使用你自己封裝的一個經常復用的類了。

總結

以上是生活随笔為你收集整理的将自己写的经常复用的类封装成动态库的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。