我們將建立的下乙個庫型別是靜態庫 (lib)。 使用靜態庫是重用**的一種絕佳方式。 您不必在自己建立的每個程式中重新實現同一例程,而只需對這些例程編寫一次,然後從需要該功能的應用程式引用它們即可。
本演練演示如何完成以下任務:
本主題假定您具備 c++ 語言的基礎知識。 如果您是剛開始學習 c++,建議參閱 msdn library 中的此教程:第一層:c++ 初學者指南。
建立靜態庫專案
在「檔案」選單中,選擇「新建」,然後選擇「專案」。
在「專案型別」窗格中,選擇「visual c++」下的「win32」。
在「模板」窗格中,選擇「win32 控制台應用程式」。
為專案選擇乙個名稱(例如 mathfuncslib),並將該名稱輸入「名稱」字段。 為解決方案選擇乙個名稱(例如 staticlibrary),並將該名稱輸入「解決方案名稱」字段。
單擊「確定」啟動 win32 應用程式嚮導。 在「win32 應用程式嚮導」對話方塊的「概述」頁中,單擊「下一步」。
在「win32 應用程式嚮導」的「應用程式設定」頁中,選擇「應用程式型別」下的「靜態庫」。
在「win32 應用程式嚮導」的「應用程式設定」頁中,清除「附加選項」下的「預編譯頭」核取方塊。
單擊「完成」建立專案。
向靜態庫新增類
若要為新類建立標頭檔案,請從「專案」選單中選擇「新增新項」。 將顯示「新增新項」對話方塊。 從「類別」窗格中,選擇「visual c++」下的「**」。 從「模板」窗格中選擇「標頭檔案(.h)」。 為標頭檔案選擇乙個名稱(例如 mathfuncslib.h),然後單擊「新增」。 將顯示乙個空白檔案。
新增乙個名為「mymathfuncs」的類以執行常見的算術運算,如加、減、乘和除。 為此,請將 mathfuncslib.h 的內容替換為下面的**。
// mathfuncslib.h若要為新類建立原始檔,請從「專案」選單中選擇「新增新項」。 將顯示「新增新項」對話方塊。 從「類別」窗格中,選擇「visual c++」下的「**」。 從「模板」窗格中,選擇「c++ 檔案(.cpp)」。 為原始檔選擇乙個名稱(例如 mathfuncslib.cpp),然後單擊「新增」。 將顯示乙個空白檔案。namespace mathfuncs
;}
在原始檔中實現 mymathfuncs 的功能。 為此,請將 mathfuncslib.cpp 的內容替換為下面的**。
// mathfuncslib.cpp若要將專案生成為靜態庫,請從「專案」選單中選擇「屬性」。 在左窗格中,選擇「配置屬性」下的「常規」。 在右窗格中,將「配置型別」更改為「靜態庫(.lib)」。 單擊「確定」儲存更改。// compile with: /c /ehsc
// post-build command: lib mathfuncslib.obj
#include "mathfuncslib.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;}}
注意
如果是從命令列生成,必須分兩個步驟來生成程式。 首先,通過使用帶編譯器選項/c的cl.exe編譯** (cl /c /ehsc mathfuncslib.cpp)。 這將建立名為「mathfuncslib.obj」的物件檔案。 有關更多資訊,請參見 /c(在不鏈結的情況下進行編譯)。 接著,使用庫管理器lib.exe鏈結** (lib mathfuncslib.obj)。 這將建立靜態庫「mathfuncslib.lib」。 有關庫管理器的更多資訊,請參見lib 引用。
編譯該靜態庫,方法是選擇「生成」選單中的「生成解決方案」。 這將建立乙個可供其他程式使用的靜態庫。
建立引用靜態庫的控制台應用程式
若要建立將引用並使用剛建立的靜態庫的應用程式,請從「檔案」選單中選擇「新建」,然後選擇「專案」。
在「專案型別」窗格中,選擇「visual c++」下的「win32」。
在「模板」窗格中,選擇「win32 控制台應用程式」。
為專案選擇乙個名稱(如 myexecrefslib),並將其鍵入「名稱」字段。 在「解決方案」旁邊的下拉列表框中選擇「添入解決方案」。 這會將新專案新增到該靜態庫所屬的同乙個解決方案中。
單擊「確定」啟動「win32 應用程式嚮導」。 在「win32 應用程式嚮導」對話方塊的「概述」頁中,單擊「下一步」。
在「win32 應用程式嚮導」的「應用程式設定」頁中,選擇「應用程式型別」下的「控制台應用程式」。
在「win32 應用程式嚮導」的「應用程式設定」頁中,清除「附加選項」下的「預編譯頭」。
單擊「完成」建立專案。
在應用程式中使用靜態庫的功能
建立控制台應用程式後,該嚮導將為您建立乙個空程式。 原始檔的名稱與您在前面為專案選擇的名稱相同。 在本示例中,名為「myexecrefslib.cpp」。
您必須引用所建立的靜態庫才能使用其算術例程。 為此,請在「專案」選單中選擇「引用」。 在 myexecrefslib「屬性頁」對話方塊中,展開「通用屬性」節點,然後單擊「新增新引用」。 有關「引用」對話方塊的更多資訊,請參見「屬性頁」對話方塊 ->「通用屬性」->「框架和引用」。
將顯示「新增引用」對話方塊。 「專案」選項卡列出了當前解決方案中的各個專案以及可以引用的所有庫。 在「專案」選項卡中,選擇 mathfuncslib。 單擊「確定」。
若要引用 mathfuncslib.h 標頭檔案,必須修改包含目錄路徑。 在 myexecrefslib「屬性頁」對話方塊中,展開「配置屬性」節點,展開「c/c++」節點,然後選擇「常規」。 在「附加包含目錄」屬性值中,鍵入 mathfuncslib 目錄的路徑或瀏覽至該目錄。
若要瀏覽至目錄路徑,請在屬性值下拉列表框中單擊「編輯」。 在「附加包含目錄」對話方塊中的在文字框中選擇乙個空行,然後單擊行尾的省略號按鈕(「…」)。在「選擇目錄」對話方塊中,選擇 mathfuncslib 目錄,然後單擊「選擇資料夾」儲存所做的選擇並關閉對話方塊。 在「附加包含目錄」對話方塊中,單擊「確定」。
現在即可在此應用程式中使用 mymathfuncs 類。 為此,請將 myexecrefslib.cpp 的內容替換為下面的**。
// myexecrefslib.cpp通過從「生成」選單中選擇「生成解決方案」,生成可執行檔案。// compile with: /ehsc /link mathfuncslib.lib
#include #include "mathfuncslib.h"
using namespace std;
int main()
執行應用程式
確保選擇「myexecrefslib」作為預設專案。 在「解決方案資源管理器」中,選擇 myexecrefslib,然後從「專案」選單中選擇「設為啟動專案」。
若要執行專案,請選擇「除錯」選單中的「開始執行(不除錯)」。 輸出應該與下面的內容類似:
a + b = 106.4a - b = -91.6
a * b = 732.6
a / b = 0.0747475
演練 建立和使用靜態庫 C
我們將建立的下乙個庫型別是靜態庫 lib 使用靜態庫是重用 的一種絕佳方式。您不必在自己建立的每個程式中重新實現同一例程,而只需對這些例程編寫一次,然後從需要該功能的應用程式引用它們即可。本演練演示如何完成以下任務 本主題假定您具備 c 語言的基礎知識。如果您是剛開始學習 c 建議參閱 msdn l...
建立和使用靜態庫 C
建立和使用靜態庫 c 我們將建立的下乙個庫型別是靜態庫 lib 使用靜態庫是重用 的一種絕佳方式。您不必在自己建立的每個程式中重新實現同一例程,而只需對這些例程編寫一次,然後從需要該功能的應用程式引用它們即可。本演練涵蓋以下內容 先決條件 本主題假定您具備 c 語言的基礎知識。從 檔案 選單中,選擇...
建立和使用靜態庫 C
我們將建立的下乙個庫型別是靜態庫 lib 使用靜態庫是重用 的一種絕佳方式。您不必在自己建立的每個程式中重新實現同一例程,而只需對這些例程編寫一次,然後從需要該功能的應用程式引用它們即可。本演練涵蓋以下內容 本主題假定您具備 c 語言的基礎知識。從 檔案 選單中,選擇 新建 然後選擇 專案 在 專案...