徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

静态库

指数 静态库

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

15 关系: 动态链接库執行檔外部变量函式庫C++C语言編譯器版本目标代码DLL地獄计算机科学连接器链接器GCCMicrosoft Visual C++

动态链接库

動態連結函式庫(Dynamic-link library,缩写为DLL)是微软公司在微软视窗操作系统中实现共享函数库概念的一种實作方式。这些函式庫函数的扩展名是.DLL、.OCX(包含ActiveX控制的函式庫)或者.DRV(舊式的系统驱动程序)。 所謂動態链接,就是把一些經常會共用的程式碼(靜態链接的OBJ程式庫)製作成DLL檔,當執行檔呼叫到DLL檔內的函數時,Windows作業系統才會把DLL檔載入記憶體內,DLL檔本身的結構就是可執行檔,當程式有需求時函數才進行链接。透過動態链接方式,記憶體浪費的情形將可大幅降低。靜態連結函式庫則是直接連結到執行檔。 DLL的文件格式与视窗EXE文件一样——也就是说,等同于32位视窗的可移植执行文件(PE)和16位视窗的New Executable(NE)。作为EXE格式,DLL可以包括原始碼、数据和资源的多种组合。 在更广泛的意义上说,任何同样檔案格式的電腦檔案都可以称作资源DLL。这样的DLL的例子有扩展名为ICL的图标函式庫、扩展名为FON和FOT的字型檔案。.

新!!: 静态库和动态链接库 · 查看更多 »

執行檔

執行檔在電腦科學上,指一種內容可被電腦解釋為程式的電腦檔案。通常執行檔內,含有以二進制編碼的微處理器指令,也因此執行檔有時稱為二進制檔。這些二進制微處理器指令的編碼,於各種微處理器有所不同,故此執行檔多數要分開不同的微處理版本。一個電腦檔案是否為執行檔,主要由作業系統的傳統決定。例如根據特定的命名方法(如副檔名為exe)或檔案的元數據信息(例如UNIX系統設定「可執行」權限)。.

新!!: 静态库和執行檔 · 查看更多 »

外部变量

在B语言、C语言和一些其它派生的语言(如C++)中,外部变量即外部的变量。这并不是语言规范中直接明确的概念,因此含义可能有歧义。严格地,“外部”可以指变量名具有的外部链接(external linkage),据此外部变量指变量名具有外部链接的变量。其它理解导致外延与之具有一定差异,在下面的例子中注释。 注意“变量”的概念在这些语言中本身即具有一些差异。ISO C中没有作为名词的“变量”(variable)这一术语的正式定义,通常即指对象,而ISO C++规定变量通过对象或不是非静态数据成员的引用的声明引入,其中“对象”的概念和ISO C的基本兼容。除非另行说明,下文取其公共含义,即变量均指对象。变量名在此即为标识符(C++的名称外延比标识符更广,在此不考虑非标识符的情形)。.

新!!: 静态库和外部变量 · 查看更多 »

函式庫

在计算机科学中,库(library)是用于开发软件的子程序集合。库和可执行文件的区别是,库不是独立程序,他们是向其他程序提供服务的代码。 库链接是指把一个或多个库包括到程序中,有两种链接形式:静态链接和动态链接,相应的,前者链接的库叫做静态库后者的叫做动态库。.

新!!: 静态库和函式庫 · 查看更多 »

C++

C++是一種使用廣泛的计算机程序設計語言。它是一種通用程序設計語言,支援多重编程模式,例如程序化程序設計、数据抽象、面向对象程序設計、泛型程序設計和设计模式等。 比雅尼·斯特勞斯特魯普博士在贝尔实验室工作期间在20世紀80年代發明並實現了C++。起初,這種語言被稱作“C with Classes”(“包含‘類’的C語言”),作為C語言的增強版出現。随后,C++不斷增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多繼承(multiple inheritance)、标准模板库(standard template library, STL)、异常处理(exception)、运行时类型信息(Runtime type information)、命名空間(namespace)等概念逐漸納入標準。1998年,國際標準組織(ISO)頒布了C++程序設計語言的第一個國際標準ISO/IEC 14882:1998,目前最新标准为ISO/IEC 14882:2017。根據《C++編--程思想》(Thinking in C++)一書,C++與C的代码执行效率往往相差在±5%之間。 C++語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的面向对象語言,並且憑藉着接近C語言的效率,在工業界使用的開發語言中佔據了相當大份額;第二階段從1995年到2000年,這一階段由於標準模板庫(STL)和後來的Boost等程式庫的出現,泛型程序設計在C++中佔據了越來越多的比重。當然,同時由於Java、C#等語言的出現和硬體價格的大規模下降,C++受到了一定的衝擊;第三階段從2000年至今,由於以Loki、MPL(Boost)等程式庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最複雜的一員。.

新!!: 静态库和C++ · 查看更多 »

C语言

C是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇與肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。 C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了众多後來的程式語言,例如C++、Objective-C、Java、C#等。 二十世纪八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。.

新!!: 静态库和C语言 · 查看更多 »

編譯器

编译器(compiler),是一種電腦程式,它會將用某種程式語言寫成的原始碼(原始語言),轉換成另一種程式語言(目標語言)。 它主要的目的是將便于人编写、阅读、维护的高级计算机语言所寫作的原始碼程式,翻译为计算机能解读、运行的低阶机器语言的程序,也就是執行檔。编译器将原始程序(source program)作为输入,翻译产生使用目标语言(target language)的等价程序。源代码一般为高阶语言(High-level language),如Pascal、C、C++、C# 、Java等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。 一个现代编译器的主要工作流程如下: 源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标代码(object code)→ 链接器(Linker)→ 執行檔(executables), 最後打包好的檔案就可以給電腦去判讀執行了。.

新!!: 静态库和編譯器 · 查看更多 »

版本

本是一种称谓,用于描述同一事物的相互之间有差异的各种形式、状态或内容。 「版」在这里原意是印刷用的模板,「本」的意思是书籍。因此,版本最初用于描述书籍的不同形式、状态或内容。第一次出版,稱為初版。如果印刷內容未改,而之後再付印的話,則不稱為再版,而稱為「初版第○刷」或「第1版第○刷」,○為重印次數,例如「第1版第2刷」。內容有更動,可稱為「改版」或「新版」。這是為了讓讀者可以明確知道書籍內容有無實質變化。不過,不誠實的出版業者或作者可能故意宣稱書籍「出新版」,即便內容全無改變,以增加銷售量。 现今版本可用于描述书籍、电影、法律、观点、软件等事物。一个事物可能因各种原因而有不同版本,如作者修订、发布环境改变、传播过程影响等。不同版本的差异形形色色,如某歌手所發行的同張專輯可能同时发行CD和錄音帶版本;某部法律为适应社会新变化,於经过修订後发布並生效新版本。.

新!!: 静态库和版本 · 查看更多 »

目标代码

标代码(object code)指计算机科学中编译器或汇编器处理源代码后所生成的代码,它一般由机器代码或接近于机器语言的代码组成。目标文件(object file)即存放目标代码的计算机文件,它常被称作二进制文件(binaries)。 目标文件包含着机器代码(可直接被计算机中央处理器执行)以及代码在运行时使用的数据,如重定位信息,如用于链接或调试的程序符号(变量和函数的名字),此外还包括其他调试信息。目标文件是从源代码文件产生程序文件这一过程的中间产物,链接器正是通过把目标文件链接在一起来生成可执行文件或库文件。目标文件中唯一的要素是机器代码,例如,用于嵌入式系统的目标文件可能仅仅含有机器代码。.

新!!: 静态库和目标代码 · 查看更多 »

DLL地獄

在电脑运算领域,DLL地狱(DLL Hell)指Microsoft Windows系统中,因为动态链接库(DLL)的版本或相容性的问题而造成软件无法正常执行。 Windows早期并沒有很严谨的DLL版本管理机制,以致经常发生安装了某软件后,因为其覆盖了系统上原有的同一個DLL文件,而导致原有可运行的程式无法运行。但还原回原有的DLL文件之后,所新安裝的软件就无法运行。若影响到系统所使用的重要DLL时也可能让系统容易死机甚至无法正常启动。.

新!!: 静态库和DLL地獄 · 查看更多 »

计算机科学

计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。 计算机科学(computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探討计算问题的性质,比如计算复杂性理论;还有一些领域專注于怎样实现计算,比如程式語言理論是研究描述计算的方法,而程式设计是应用特定的程式語言解决特定的计算问题,人机交互则是專注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。 有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。 尽管计算机科学(computer science)的名字里包含计算机这几个字,但实际上计算机科学相当数量的领域都不涉及计算机本身的研究。因此,一些新的名字被提议出来。某些重点大学的院系倾向于术语计算科学(computing science),以精确强调两者之间的不同。丹麦科学家Peter Naur建议使用术语"datalogy",以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。第一个使用这个术语的科学机构是哥本哈根大学Datalogy学院,该学院成立于1969年,Peter Naur便是第一任教授。这个术语主要被用于北欧国家。同时,在计算技术发展初期,《ACM通讯》建议了一些针对计算领域从业人员的术语:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。 三个月后在同样的期刊上,comptologist被提出,第二年又变成了hypologist。 术语computics也曾经被提议过。在欧洲大陆,起源于信息(information)和数学或者自动(automatic)的名字比起源于计算机或者计算(computation)更常见,如informatique(法语),Informatik(德语),informatika(斯拉夫语族)。 著名计算机科学家Edsger Dijkstra曾经指出:“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”("Computer science is no more about computers than astronomy is about telescopes.")设计、部署计算机和计算机系统通常被认为是非计算机科学学科的领域。例如,研究计算机硬件被看作是计算机工程的一部分,而对于商业计算机系统的研究和部署被称为信息技术或者信息系统。然而,现如今也越来越多地融合了各类计算机相关学科的思想。计算机科学研究也经常与其它学科交叉,比如心理学,认知科学,语言学,数学,物理学,统计学和经济学。 计算机科学被认为比其它科学学科与数学的联系更加密切,一些观察者说计算就是一门数学科学。 早期计算机科学受数学研究成果的影响很大,如Kurt Gödel和Alan Turing,这两个领域在某些学科,例如数理逻辑、范畴论、域理论和代数,也不断有有益的思想交流。.

新!!: 静态库和计算机科学 · 查看更多 »

连接器

連接器可以指以下幾種物件。.

新!!: 静态库和连接器 · 查看更多 »

链接器

链接器(Linker),又譯為鏈結器、連結器,是一个程序,将一个或多个由编译器或汇编器生成的目标文件外加库链接为一个可执行文件。 在IBM大型主机比如OS/360上,链接器是linkage editor;在Unix-like系統上常用的链接器是。目标文件是包括机器码和链接器可用信息的程序模块。简单的讲,链接器的工作就是解析未定义的符号引用,将目标文件中的占位符替换为符号的地址。链接器还要完成程序中各目标文件的地址空间的组织,这可能涉及重定位工作。 大多数现代操作系统都提供静态链接和动态链接两种形式。.

新!!: 静态库和链接器 · 查看更多 »

GCC

GNU编译器套裝(GNU Compiler Collection,縮寫為GCC),指一套编程語言编译器,以GPL及LGPL許可證所發行的自由軟體,也是GNU計畫的关键部分,也是GNU工具链的主要組成部份之一。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。1985年由理查德·马修·斯托曼開始發展,現在由自由軟體基金會負責維護工作。 原名為GNU C語言編譯器(GNU C Compiler),因為它原本只能處理C語言。GCC在发布后很快地得到擴展,變得可處理C++。之後也變得可處理Fortran、Pascal、Objective-C、Java、Ada,Go與其他語言。 許多操作系統,包括許多类Unix系統,如Linux及BSD家族都採用GCC作為标准编译器。蘋果電腦预装的Mac OS X操作系统也採用這個編譯器。 GCC原本用C開發,後來因為LLVM、Clang的崛起,它更快地將開發語言轉換為C++。許多C的愛好者在對C++一知半解的情況下主觀認定C++的性能一定會輸給C,但是Ian Lance Taylor給出了不同的意見,並表明C++不但性能不輸給C,而且能設計出更好,更容易維護的程式(、)。.

新!!: 静态库和GCC · 查看更多 »

Microsoft Visual C++

Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)是微軟公司的C++開發工具,具有集成开发环境,可提供編輯C語言,C++以及C++/CLI等编程語言。VC++整合了便利的除錯工具,特別是整合了微軟Windows视窗操作系统应用程序接口(Windows API)、三维動畫DirectX API,Microsoft.NET框架。目前最新的版本是Microsoft Visual C++ 2017。.

新!!: 静态库和Microsoft Visual C++ · 查看更多 »

重定向到这里:

静态链接库

传出传入
嘿!我们在Facebook上吧! »