我們将建立的第一種類型的庫是動态連結庫 (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=<mathfuncsdll.dll 檔案的路徑>,其中 <mathfuncsdll.dll 檔案的路徑> 應替換為 mathfuncsdll.dll 的實際位置。 單擊“确定”儲存所有更改。
如果要從指令行而不是從 visual studio 運作可執行檔案,則必須在指令提示符處手動更新 path 環境變量,如下所示:set path=%path%;<mathfuncsdll.dll 檔案的路徑>,其中 <mathfuncsdll.dll 檔案的路徑> 應替換為 mathfuncsdll.dll 的實際位置。
現在,可以在應用程式中使用“mymathfuncs”類了。 使用以下代碼替換“myexecrefsdll.cpp”的内容:
通過從“生成”菜單中選擇“生成解決方案”,生成可執行檔案。
確定選擇“myexecrefsdll”作為預設項目。 在“解決方案資料總管”中,選擇 myexecrefsdll,然後選擇“項目”菜單中的“設為啟動項目”。
若要運作項目,請選擇“調試”菜單中的“開始執行(不調試)”。 輸出應該與下面的内容類似:
a + b = 106.4
a - b = -91.6
a * b = 732.6
a / b = 0.0747475