靜態庫的建立和使用

2021-07-29 14:32:00 字數 831 閱讀 2660

在我們的應用中,有一些公共**是需要反覆使用,就把這些**編譯為「庫」檔案;在鏈結步驟中,聯結器將從庫檔案取得所需的**,複製到生成的可執行檔案中。這種庫稱為靜態庫,其特點是可執行檔案中包含了庫**的乙份完整拷貝;缺點就是被多次使用就會有多份冗餘拷貝。

一、建立靜態庫:編譯器 vs2010

建立乙個 win32專案libtest  選擇靜態庫。為了簡單,此靜態庫只包含乙個add()函式,表示兩個數相加。

在標頭檔案libtest.h中宣告add()函式:

#pragma once

extern "c"int add(int a,int b);

在libtest.cpp檔案中完成add()函式的實現:

#include "stdafx.h"

#include "libtest.h"

int add(int a,int b)

對libtest靜態庫程式進行編譯,會生成乙個

libtest.lib檔案。當其它程式需要使用這個靜態庫的時候,就需要把此靜態庫鏈結進去。

二、靜態庫的使用:

1、包含靜態庫函式宣告的標頭檔案;

2、把靜態庫鏈結進exe工程中;

以上兩步可以使用**來實現:

#include "../libtest/libtest.h"

#pragma comment(lib,"../debug/libtest.lib")

可以看出,在使用靜態庫時,不僅要有*.lib檔案,還要有靜態庫中的函式宣告時所在的檔案:*.h。

建立和使用靜態庫

我們通常把一些公用函式製作成函式庫,供其它程式使用。函式庫分為靜態庫和動態庫兩種。靜態庫在程式編譯時會被連線到目標 中,程式執行時將不再需要該靜態庫。動態庫在程式編譯時並不會被連線到目標 中,而是在程式執行是才被載入,因此在程式執行時還需要動態庫存在。本文主要通過舉例來說明在linux中如何建立靜態...

建立和使用靜態庫

測試可用 我們將建立的下乙個庫型別是靜態庫 lib 使用靜態庫是重用 的一種絕佳方式。您不必在自己建立的每個程式中重新實現同一例程,而只需對這些例程編寫一次,然後從需要該功能的應用程式引用它們即可。本演練演示如何完成以下任務 本主題假定您具備 c 語言的基礎知識。如果您是剛開始學習 c 建議參閱 m...

建立和使用靜態庫 C

建立和使用靜態庫 c 我們將建立的下乙個庫型別是靜態庫 lib 使用靜態庫是重用 的一種絕佳方式。您不必在自己建立的每個程式中重新實現同一例程,而只需對這些例程編寫一次,然後從需要該功能的應用程式引用它們即可。本演練涵蓋以下內容 先決條件 本主題假定您具備 c 語言的基礎知識。從 檔案 選單中,選擇...