1.首先建立生成dll的專案:開啟vs2010,兩種途經建立dll專案,基於mfc dll的和基於win32控制台應用程式的,這裡選擇基於win32控制台建立。
a.檔案--新建--專案(專案命名為myapi)--visual c++ --win32--選擇win32控制台應用程式;
b.接下來下一步一直到如下圖,程式型別選擇dll,如無特殊需要選擇空專案完成,專案建立完畢;
2.定義標頭檔案:為專案新增標頭檔案myapi.h 內部新增如下**,
[cpp]view plain
copy
#ifndef _dll_api
#define _dll_api _declspec(dllexport)
#else
#define _dll_api _declspec(dllimport)
#endif
_dll_api int
add(
inta,
intb);
內部定義乙個add()函式介面,如需新增其他函式介面,可以接著繼續定義,如
[cpp]view plain
copy
_dll_api
intminus(
inta,
intb);
_dll_api int
otherfunc(
int,
int,
int);
3.定義原始檔:為專案新增相應的原始檔myapi.cpp 之後便是在該原始檔中對函式進行定義,內部新增如下**,
[cpp]view plain
copy
#include "myapi.h"
intadd(
inta,
intb)
4.編譯至通過,生成dll:這裡有個小建議,因為dll專案不會生成exe,無法實時測試api,所以建議先在一般空專案內除錯並測試通過api的函式體**,然後再建立dll專案直接編譯通過,這樣更方便可靠。 回到正題,dll專案編譯通過後有用的就是myapi.h標頭檔案以及debug目錄下新生成的myapi.dll 和myapi.lib檔案,
5.呼叫dll:為了測試我們剛剛生成的dll,建立新的專案mytest。包含宣告myapi.h標頭檔案,這裡存放了定義的介面。將myapi.dll檔案放入新工程debug資料夾下(.exe執行時需要呼叫,新專案如未編譯則沒有debug資料夾,待編譯後有了該資料夾再將dll檔案放入)。將myapi.lib檔案放在與原始檔及標頭檔案相同路徑下(編譯時需要),接下來需要將.lib資源新增到專案中,兩種方法。
一種方法是,在專案屬性-鏈結器-輸入中「附加依賴項」加入myapi.lib檔案(當然,有過未設定此處亦編譯成功的經歷,但不建議);
另一種呼叫方法是在新專案主程式中新增如下命令 則無需設定依賴項;
至此,全部完成任務,編譯通過後正常使用你自己定義的api了~
VS2010下生成dll的方法
1.首先建立生成dll的專案 開啟vs2010,兩種途經建立dll專案,基於mfc dll的和基於win32控制台應用程式的,這裡選擇基於win32控制台建立。a.檔案 新建 專案 專案命名為 dll visual c win32 選擇win32控制台應用程式 b.接下來下一步一直到如下圖,程式型別...
VS2010下生成dll的方法
1.首先建立生成dll的專案 開啟vs2010,兩種途經建立dll專案,基於mfc dll的和基於win32控制台應用程式的,這裡選擇基於win32控制台建立。a.檔案 新建 專案 專案命名為myapi visual c win32 選擇win32控制台應用程式 b.接下來下一步一直到如下圖,程式型...
關於VS2010下生成lib和dll,並使用的過程
首先要準備好.h和.cpp檔案 一 lib 下一步,最好不要選預編譯選項!選預編譯頭的話,就在.cpp檔案中新增 include stdafx.h 然後新增進來.h和.cpp檔案,就可以直接點生成解決方案了。別點除錯,因為沒有入口函式。這裡要注意你生成lib的專案配置屬性要和你使用此lib的專案配置...