dll的生成與編寫
一、dll生成的環境
1、ide:vs2003
2、程式語言:c++
二、dll的編寫過程
1、建立dll工程
在vs2003的選單選項中,選擇「新建專案」,選擇「visual c++的win32」,之後輸入要新建的名字,在之後彈出的對話方塊中選擇「dll」,另外把核取方塊「空專案」勾上。
2、dll的編寫
#include using namespace std;
#ifdef flvdlldef
#define flvdllapi extern "c" __declspec(dllexport)
//#define flvdllapi __declspec(dllexport)
#else
#define flvdllapi extern "c" __declspec(dllimport)
//#define flvdllapi __declspec(dllimport)
#endif
class iflvdetector
;flvdllapi iflvdetector* createflvdetector();
flvdllapi iflvdetector* createflvdetector();
上面這段**應該被包含是兩個工程中,乙個是dll的工程,另乙個是呼叫dll的應用程式的工程中。其中在dll的工程中,應該在專案屬性的預處理器定義中加上「flvdlldef」的命令,這樣子在dll中,就會生成包含匯出函式的lib和dll。在呼叫dll的應用程式工程中,不用加「flvdlldef」,這樣子就會在這個工程中匯入標頭檔案中的函式。其中對外的介面,是creatflvdetector()。生成該物件之後,就可以呼叫startdetector()和getresultstring()。
三、dll的注意事項
1、在dll工程中,會生成兩個檔案:dll和lib檔案。其中dll是包含實際**的檔案,lib是dll中的匯出函式的符號表。
2、在呼叫dll的工程中,需要三個檔案:dll、lib、標頭檔案。
1)dll檔案應該放在exe的同乙個資料夾中。
2)lib檔案需要包含是應用程中。具體的過程是:在呼叫dll的應用程式工程中,選擇專案屬性,之後在「聯結器」選項卡中,選擇「輸入」,之後再選擇「附加依賴項」,在後面新增lib的名字即可。
3)標頭檔案,應該被呼叫dll的應用程式工程中include,和其他的標準標頭檔案是一樣的。
VS2003中DLL斷點除錯,不執行斷點
問題描述 最近在vs2003中除錯乙個mfc程式,這個mfc程式中呼叫了乙個dll動態鏈結庫。想除錯dll中的原始碼,在dll中設定斷點,然後執行,選擇外部exe檔案執行,結果dll中的斷點全變成了問號,且執行不到。問題分析 ncb檔案的問題。ncb是 no compile browser 的縮寫,...
我的URL重寫 VS2003
今天弄了好久,主要是不知道iis裡面加對映要對映空副檔名如 blog.csdn.net mathew3625 這樣的沒有副檔名的怎麼加,後來才知道這種情況可以用 再加上path type urlrewriter.rewrite ctoryhandler,urlrewriter 匹配所有的 這是尹樹榮...
vs2003屬性視窗空白的問題
乙個困擾很久的問題一直沒有解決,因為vs的屬性視窗沒顯示不方便修改mfc程式的id和屬性等等,但是可以直接在 裡修改。問題始終是問題,最近準備畫時間解決之,上網差資料搜尋辦法,一帖說是win7的問題。刪除.net framework1.1可解決此問題。我試了下,的確可以解決此問題。但是vs2003是...