建立新的動態鏈結庫 DLL 專案

2021-06-10 05:13:43 字數 3414 閱讀 4994

從「檔案」選單中,選擇「新建」,然後選擇「專案…」。

在「專案型別」窗格中,選擇「visual c++」下的「win32」。

在「模板」窗格中,選擇「win32 控制台應用程式」。

為專案選擇乙個名稱,如 mathfuncsdll,並將其鍵入「名稱」字段。 為解決方案選擇乙個名稱,如 dynamiclibrary,並將其鍵入「解決方案名稱」字段。

單擊「確定」啟動 win32 應用程式嚮導。 在「win32 應用程式嚮導」對話方塊的「概述」頁中,單擊「下一步」。

在「win32 應用程式嚮導」中的「應用程式設定」頁中,選擇「應用程式型別」下的「dll」(如果可用),或者選擇「控制台應用程式」(如果「dll」不可用)。 某些版本的 visual studio 不支援通過使用嚮導建立 dll 專案。 您可以稍後對此進行更改,以將專案編譯為 dll。

在「win32 應用程式嚮導」的「應用程式設定」頁中,選擇「附加選項」下的「空專案」。

單擊「完成」建立專案。

若要為新類建立標頭檔案,請從「專案」選單中選擇「新增新項…」。 將顯示「新增新項」對話方塊。 在「類別」窗格中,選擇「visual c++」下的「**」。 在「模板」窗格中選擇「標頭檔案(.h)」。 為標頭檔案選擇乙個名稱,如 mathfuncsdll.h,並單擊「新增」。 將顯示乙個空白檔案。

新增乙個名為「mymathfuncs」的簡單類,以執行常見的算術運算,如加、減、乘和除。 **應與以下內容類似:複製

// mathfuncsdll.h

namespace mathfuncs

;}

請注意此**方法宣告中的 __declspec(dllexport) 修飾符。 這些修飾符使 dll 能夠匯出該方法以供其他應用程式使用。 有關更多資訊,請參見 dllexport, dllimport。

若要為新類建立原始檔,請從「專案」選單中選擇「新增新項…」。 將顯示「新增新項」對話方塊。 在「類別」窗格中,選擇「visual c++」下的「**」。 在「模板」窗格中,選擇「c++ 檔案(.cpp)」。 為原始檔選擇乙個名稱,如 mathfuncsdll.cpp,並單擊「新增」。 將顯示乙個空白檔案。

在原始檔中實現「mymathfuncs」的功能。 **應與以下內容類似:複製

// mathfuncsdll.cpp

// compile with: /ehsc /ld

#include "mathfuncsdll.h"

#include using namespace std;

namespace mathfuncs

double mymathfuncs::subtract(double a, double b)

double mymathfuncs::multiply(double a, double b)

double mymathfuncs::divide(double a, double b)

return a / b;}}

若要將專案生成為 dll,請從「專案」選單中選擇 mathfuncsdll「屬性...」。 在左窗格中,選擇「配置屬性」下的「常規」。 在右窗格中,將「配置型別」更改為「動態庫(.dll)」。 單擊「確定」儲存更改。

注意

如果您從命令列生成專案,請使用/ld編譯器選項指定輸出檔案應為 dll。 有關更多資訊,請參見 /md、/mt、/ld(使用執行庫)。

編譯該動態鏈結庫,方法是選擇「生成」選單中的「生成解決方案」。 這樣就建立了乙個可供其他程式使用的 dll。 有關 dll 的詳細資訊,請參見 dll。

若要建立將引用並使用剛建立的動態鏈結庫的應用程式,請從「檔案」選單中選擇「新建」,然後選擇「專案...」。

在「專案型別」窗格中,選擇「visual c++」下的「win32」。

在「模板」窗格中,選擇「win32 控制台應用程式」。

為專案選擇乙個名稱(如 myexecrefsdll),並將其鍵入「名稱」字段。 從「解決方案」旁邊的下拉列表中選擇「添入解決方案」。 這會將新專案新增到該動態鏈結庫所屬的同乙個解決方案中。

單擊「確定」啟動「win32 應用程式嚮導」。 在「win32 應用程式嚮導」對話方塊的「概述」頁中,單擊「下一步」。

在「win32 應用程式嚮導」的「應用程式設定」頁中,選擇「應用程式型別」下的「控制台應用程式」。

在「win32 應用程式嚮導」的「應用程式設定」頁中,清除「附加選項」下的「預編譯頭」核取方塊。

按「完成」建立專案。

建立新的控制台應用程式後,將為您建立乙個空程式。 原始檔的名稱與您在前面為專案選擇的名稱相同。 在本示例中,名為「myexecrefsdll.cpp」。

若要使用在動態鏈結庫中建立的算術例程,則必須引用該庫。 若要執行此操作,請在解決方案資源管理器中選擇 myexecrefsdll 專案,然後從「專案」選單中選擇「引用...」。 在「屬性頁」對話方塊中,展開「通用屬性」節點,選擇「框架和引用」,然後選擇「新增新引用...」按鈕。 有關「引用...」對話方塊的更多資訊,請參見「屬性頁」對話方塊 ->「通用屬性」->「框架和引用」。

顯示「新增引用」對話方塊。 此對話方塊列出了所有可以引用的庫。 「專案」選項卡列出了當前解決方案中的所有專案,以及它們包含的所有庫。 在「專案」選項卡中,選擇 mathfuncsdll。 然後單擊「確定」。

若要引用動態鏈結庫的標頭檔案,必須修改包含目錄路徑。 為此,請在「屬性頁」對話方塊中展開「配置屬性」節點,然後展開「c/c++」節點,並選擇「常規」。 在「附加包含目錄」旁邊,鍵入 mathfuncsdll.h 標頭檔案所在位置的路徑。

可執行檔案僅在執行時載入動態鏈結庫。 必須告訴系統在**查詢「mathfuncsdll.dll」。 您可以通過使用path環境變數做到這一點。 為此,請在「屬性頁」對話方塊中展開「配置屬性」節點,並選擇「除錯」。 在「環境」旁邊鍵入以下內容:path=注意

如果要從命令列而不是從 visual studio 執行可執行檔案,則必須在命令提示符處手動更新path環境變數,如下所示:set path=%path%;

現在,可以在應用程式中使用「mymathfuncs」類了。 使用以下**替換「myexecrefsdll.cpp」的內容:複製

// myexecrefsdll.cpp

// compile with: /ehsc /link mathfuncsdll.lib

#include #include "mathfuncsdll.h"

using namespace std;

int main()

通過從「生成」選單中選擇「生成解決方案」,生成可執行檔案。

確保選擇「myexecrefsdll」作為預設專案。 在「解決方案資源管理器」中,選擇 myexecrefsdll,然後選擇「專案」選單中的「設為啟動專案」。

若要執行專案,請選擇「除錯」選單中的「開始執行(不除錯)」。 輸出應該與下面的內容類似:

建立新的動態鏈結庫 DLL 專案

建立新的動態鏈結庫 dll 專案 1.從 檔案 選單中,選擇 新建 然後選擇 專案 2.在 專案型別 窗格中,選擇 visual c 下的 win32 3.在 模板 窗格中,選擇 win32 控制台應用程式 4.為專案選擇乙個名稱,如 mathfuncsdll,並將其鍵入 名稱 字段。為解決方案選擇...

建立C 動態鏈結庫 dll

先來一段vc 給我們提供的標準模板 ifdef connection exports define connection api declspec dllexport else define connection api declspec dllimport endif 此類是從 connectio...

動態鏈結庫DLL

函式和資料被編譯進乙個二進位制檔案 通常擴充套件名為.lib 靜態庫 在使用靜態庫的情況下,在編譯鏈結可執行檔案時,鏈結器從庫中複製這些函式和資料並把它們和應用程式的其它模組組合起來建立最終的可執行檔案 exe檔案 在多個同樣的程式執行時,系統保留了許多重複的 副本,造成記憶體資源浪費。動態庫 使用...