1.新建項目,創建項目和解決方案
StaticLibrary 這是靜態庫項目
G:\C++Learn\Library Library文件夾用於存放庫相關文件,包含靜態庫與后面的動態庫工程和解決方案
StaticLibraryDemo 靜態庫解決方案名稱
2.點擊下一步,出現如下界面
選擇靜態庫,選擇預編譯頭,如果需要使用MFC就勾選上,最后點擊完成
3.然后VS左邊解決方案管理器會顯示相關文件
這就是個最簡單的靜態庫,編譯生成下
4.文件夾生成了相關文件
解決方案目錄:
解決方案目錄下,項目文件夾StaticLibrary,Debug解決方案調試目錄下面就存放了編譯生成的.lib靜態庫
5. 給靜態庫項目添加一個c++類CMyMath供外部程序使用
然后分別添加二個函數,一個成員函數MathAdd 用於加法計算,一個全局函數MathSub 用於減法計算,最后編譯生成
6. 給解決方案添加一個新的控制台項目用於測試靜態庫,創建完成后設置為啟動項目
7. Test.CPP中添加相關代碼
1 // Test.cpp : 定義控制台應用程序的入口點。 2 // 3 4 #include "stdafx.h" 5 #include "../StaticLibrary/MyMath.h" //靜態庫CMyMath頭文件 6 7 #pragma comment(lib,"../Debug/StaticLibrary.lib") //引入靜態庫.lib文件 8 int _tmain(int argc, _TCHAR* argv[]) 9 { 10 //使用靜態庫中CMyMath類,調用其中的MathAdd方法 11 CMyMath myMath; 12 int nResult = myMath.MathAdd(1,2); 13 printf("1 + 2 = %d\r\n",nResult); 14 //調用靜態庫中的全局函數MathSub 15 nResult = MathSub(5,1); 16 printf("5 - 1 = %d\r\n",nResult); 17 getchar(); 18 return 0; 19 }
8. 編譯運行Test, 查看相關信息.
控制台輸出調試信息,下方的模快里只有Test.exe以及系統dll,靜態庫中所有代碼都被打包加到Test.exe中去
了,與動態庫相比靜態庫最明顯區別就是不需要加載dll