静态库
在计算机科学中,靜態庫(英語:),或称靜態函式庫,是一個外部函式與變數的集合體。靜態函式庫的檔案內容,通常包含一堆程式設計師自定的變數與函式,其內容不像動態連結庫那麼複雜,在編譯期間由編譯器與链接器將它整合至應用程式內,並製作成目的檔以及可以獨立運作的執行檔。而這個執行檔與編譯執行檔的程序,都是一種程式的靜態建立(static build)。以過去的觀點來說,函式庫只能算是靜態(static)類型。
与动态链接库的比较
实现及使用
靜態函式庫可以用簡單的C語言或是C++程式碼去建立它。這兩個程式語言提供關鍵字指定函式與變數是否為外部(external)或是內部(internal)連結,此外,還提供其他的特性。
建立這類的函式庫時,將函式或是變數匯出(export)一定要用外部連結(external linkage )的語法特別指定它們。
Visual C++
静态库文件名为*.lib
,在使用了其中的函数之后,使用#pragma comment(lib,"*")
预编译指令要求连接器连入。
原始碼範例
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;
}
|
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.