靜態連結函式庫

维基百科,自由的百科全书
跳转至: 导航搜索

電腦科學裡,靜態連結函式庫英文static library 或是 statically-linked library)或是靜態函式庫是一個外部函式與變數的集合體,靜態函式庫的檔案內容,通常包含一堆程式設計師自定的變數與函式,其內容不像動態連結函式庫那麼複雜,在編譯期間由編譯器連結器將它整合至應用程式內,並製作成目的檔以及可以獨立運作的可執行檔。而這個執行檔與編譯執行檔的程序,都是一種程式的靜態建立(static build)。以過去的觀點來說,函式庫只能算是靜態(static)類型。

在C/C++建立靜態函式庫[编辑]

靜態函式庫可以用簡單的C語言或是C++程式碼去建立它。這兩個程式語言提供關鍵字指定函式與變數是否為外部(external)或是內部(internal)連結,此外,還提供其他的特性。

建立這類的函式庫時,將函式或是變數匯出(export)一定要用外部連結(external linkage )的語法特別指定它們。

原始碼範例[编辑]

C/C++[编辑]

這是主函式的原始碼與執行結果
靜態函式庫的原始碼範例
標頭檔案(Header File) 原始碼檔案(Source File)
// static_lib.h
 
# ifndef _STATIC_LIB_H_
# define _STATIC_LIB_H_
 
# include <iostream>
# include <string>
# include <Windows.h>
 
using namespace std;
 
namespace STAIC_LIB
{
BOOL PRINT(__in string& STRING);
}
 
# endif
// static_lib.cpp
 
# include "static_lib.h"
 
BOOL STAIC_LIB::PRINT(__in string& STRING)
{
if ( STRING.empty() )
{
return FALSE;
}
// 顯示一個字串
cout<<STRING<<endl;
return TRUE;
}

相關條目[编辑]

外部連結[编辑]