在我們的應用中,有一些公共**是需要反覆使用,就把這些**編譯為「庫」檔案;在鏈結步驟中,聯結器將從庫檔案取得所需的**,複製到生成的可執行檔案中。這種庫稱為靜態庫,其特點是可執行檔案中包含了庫**的乙份完整拷貝;缺點就是被多次使用就會有多份冗餘拷貝。
一、建立靜態庫:編譯器 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 語言的基礎知識。從 檔案 選單中,選擇...