静态库
在计算机科学中,静态库(英语:),或称静态函数库,是一个外部函数与变量的集合体。静态函数库的文件内容,通常包含一堆程序员自定的变量与函数,其内容不像动态链接库那么复杂,在编译期间由编译器与链接器将它集成至应用程序内,并制作成目的档以及可以独立运作的运行档。而这个运行档与编译运行档的进程,都是一种程序的静态创建(static build)。以过去的观点来说,函数库只能算是静态(static)类型。
需要特别指明的一点是,Linux系统下的静态库文档并非ELF二进制文档[1]
与动态链接库的比较
实现及使用
静态函数库可以用简单的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.