天天看點

演練:建立和使用動态連結庫 (C++)

我們将建立的第一種類型的庫是動态連結庫 (dll)。 使用 dll 是一種重用代碼的絕佳方式。 您不必在自己建立的每個程式中重新實作同一例程,而隻需對這些例程編寫一次,然後從需要該功能的應用程式引用它們即可。

本演練涵蓋以下内容:

建立新的動态連結庫 (dll) 項目。

向動态連結庫添加類。

建立引用動态連結庫的應用程式。

在控制台應用程式中使用類庫的功能。

運作應用程式。

<a></a>

從“檔案”菜單中,選擇“建立”,然後選擇“項目…”。

在“項目類型”窗格中,選擇“visual c++”下的“win32”。

在“模闆”窗格中,選擇“win32 控制台應用程式”。

為項目選擇一個名稱,如 mathfuncsdll,并将其鍵入“名稱”字段。 為解決方案選擇一個名稱,如 dynamiclibrary,并将其鍵入“解決方案名稱”字段。

單擊“确定”啟動 win32 應用程式向導。 在“win32 應用程式向導”對話框的“概述”頁中,單擊“下一步”。

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

在“win32 應用程式向導”的“應用程式設定”頁中,選擇“附加選項”下的“空項目”。

單擊“完成”建立項目。

若要為新類建立頭檔案,請從“項目”菜單中選擇“添加新項…”。 将顯示“添加新項”對話框。 在“類别”窗格中,選擇“visual c++”下的“代碼”。 在“模闆”窗格中選擇“頭檔案(.h)”。 為頭檔案選擇一個名稱,如 mathfuncsdll.h,并單擊“添加”。 将顯示一個空白檔案。

添加一個名為“mymathfuncs”的簡單類,以執行常見的算術運算,如加、減、乘和除。 代碼應與以下内容類似:

若要為新類建立源檔案,請從“項目”菜單中選擇“添加新項…”。 将顯示“添加新項”對話框。 在“類别”窗格中,選擇“visual c++”下的“代碼”。 在“模闆”窗格中,選擇“c++ 檔案(.cpp)”。 為源檔案選擇一個名稱,如 mathfuncsdll.cpp,并單擊“添加”。 将顯示一個空白檔案。

在源檔案中實作“mymathfuncs”的功能。 代碼應與以下内容類似:

若要将項目生成為 dll,請從“項目”菜單中選擇 mathfuncsdll“屬性...”。 在左窗格中,選擇“配置屬性”下的“正常”。 在右窗格中,将“配置類型”更改為“動态庫(.dll)”。 單擊“确定”儲存更改。

若要建立将引用并使用剛建立的動态連結庫的應用程式,請從“檔案”菜單中選擇“建立”,然後選擇“項目...”。

為項目選擇一個名稱(如 myexecrefsdll),并将其鍵入“名稱”字段。 從“解決方案”旁邊的下拉清單中選擇“添入解決方案”。 這會将新項目添加到該動态連結庫所屬的同一個解決方案中。

單擊“确定”啟動“win32 應用程式向導”。 在“win32 應用程式向導”對話框的“概述”頁中,單擊“下一步”。

在“win32 應用程式向導”的“應用程式設定”頁中,選擇“應用程式類型”下的“控制台應用程式”。

在“win32 應用程式向導”的“應用程式設定”頁中,清除“附加選項”下的“預編譯頭”複選框。

按“完成”建立項目。

建立新的控制台應用程式後,将為您建立一個空程式。 源檔案的名稱與您在前面為項目選擇的名稱相同。 在本示例中,名為“myexecrefsdll.cpp”。

顯示“添加引用”對話框。 此對話框列出了所有可以引用的庫。 “項目”頁籤列出了目前解決方案中的所有項目,以及它們包含的所有庫。 在“項目”頁籤中,選擇 mathfuncsdll。 然後單擊“确定”。

若要引用動态連結庫的頭檔案,必須修改包含目錄路徑。 為此,請在“屬性頁”對話框中展開“配置屬性”節點,然後展開“c/c++”節點,并選擇“正常”。 在“附加包含目錄”旁邊,鍵入 mathfuncsdll.h 頭檔案所在位置的路徑。

可執行檔案僅在運作時加載動态連結庫。 必須告訴系統在哪裡查找“mathfuncsdll.dll”。 您可以通過使用 path 環境變量做到這一點。 為此,請在“屬性頁”對話框中展開“配置屬性”節點,并選擇“調試”。 在“環境”旁邊鍵入以下内容:path=&lt;mathfuncsdll.dll 檔案的路徑&gt;,其中 &lt;mathfuncsdll.dll 檔案的路徑&gt; 應替換為 mathfuncsdll.dll 的實際位置。 單擊“确定”儲存所有更改。

如果要從指令行而不是從 visual studio 運作可執行檔案,則必須在指令提示符處手動更新 path 環境變量,如下所示:set path=%path%;&lt;mathfuncsdll.dll 檔案的路徑&gt;,其中 &lt;mathfuncsdll.dll 檔案的路徑&gt; 應替換為 mathfuncsdll.dll 的實際位置。

現在,可以在應用程式中使用“mymathfuncs”類了。 使用以下代碼替換“myexecrefsdll.cpp”的内容:

通過從“生成”菜單中選擇“生成解決方案”,生成可執行檔案。

確定選擇“myexecrefsdll”作為預設項目。 在“解決方案資料總管”中,選擇 myexecrefsdll,然後選擇“項目”菜單中的“設為啟動項目”。

若要運作項目,請選擇“調試”菜單中的“開始執行(不調試)”。 輸出應該與下面的内容類似:

a + b = 106.4 

a - b = -91.6 

a * b = 732.6 

a / b = 0.0747475

繼續閱讀