天天看點

Visual Studio 2022,C++ Static Library,靜态連結庫的建立與使用

作者:古怪今人

靜态連結庫

靜态連結庫(Static Library)

靜态連結庫包含一些自己定義的變量與函數,在編譯期間由編譯器和連結器将它內建到可執行檔案(.exe)中,在Window下的字尾名是.lib,Linux下是.a。

靜态連結

靜态連結庫與動态連結庫(*.dll)不同,在靜态庫情況下,函數和資料被編譯為一個二進制檔案(*.lib),編譯器在連結過程中将從靜态庫中恢複這些函數和資料并把他們和應用程式中的其他子產品組合在一起生成可執行檔案,這個過程稱為"靜态連結",因應用程式所需的全部内容都是從庫中複制了出來,是以靜态庫本身并不需要與可執行檔案一起發行。

Visual Studio 2022的建立與使用

建立靜态連結庫項目

1、建立項目,靜态庫項目

Visual Studio 2022,C++ Static Library,靜态連結庫的建立與使用

2、填寫項目名稱和解決方案名稱

Visual Studio 2022,C++ Static Library,靜态連結庫的建立與使用

3、添加頭檔案demo.h和C++源檔案

Visual Studio 2022,C++ Static Library,靜态連結庫的建立與使用

demo.h

#pragma once
// 傳回最大值
int max_number(int a, int b);
// 傳回最小值
int min_number(int a, int b);           

demo.cpp

#include "pch.h"
#include "demo.h"

int max_number(int a, int b) {
	if (a >= b) {
		return a;
	}
	return b;
}

int min_number(int a, int b) {
	if (a < b) {
		return a;
	}
	return b;
}           

4、選中項目,右鍵,生成,生成檔案StaticLib1.lib

Visual Studio 2022,C++ Static Library,靜态連結庫的建立與使用

建立靜态連結庫使用

1、添加空項目

Visual Studio 2022,C++ Static Library,靜态連結庫的建立與使用

2、填寫項目名稱

Visual Studio 2022,C++ Static Library,靜态連結庫的建立與使用

3、添加源檔案Main.cpp

#include <iostream>
#include "demo.h"
using namespace std;

int main() {
	cout << "最大值為:" << max_number(55555, 33333) << endl;
	cout << "最小值為:" << min_number(55555, 33333) << endl;
	system("pause");
	return 0;
}           

4、添加引用

Visual Studio 2022,C++ Static Library,靜态連結庫的建立與使用

5、項目屬性,C/C++正常,附件包含目錄,選擇靜态連結庫項目路徑

Visual Studio 2022,C++ Static Library,靜态連結庫的建立與使用

6、設定為啟動項目,運作

Visual Studio 2022,C++ Static Library,靜态連結庫的建立與使用

繼續閱讀