Static library (original) (raw)
In computer science, a static library or statically-linked library is a set of routines, external functions and variables which are resolved in a caller at compile-time and copied into a target application by a compiler, linker, or binder, producing an object file and a stand-alone executable. This executable and the process of compiling it are both known as a static build of the program. Historically, libraries could only be static. Static libraries are either merged with other static libraries and object files during building/linking to form a single executable or loaded at run-time into the address space of their corresponding executable at a static memory offset determined at compile-time/link-time.
Property | Value |
---|---|
dbo:abstract | Una biblioteca estàtica és aquella que s'enllaça en temps de compilació (en oposició a una d'enllaç dinàmic, que s'enllaça en temps d'execució). L'avantatge d'aquest tipus d'enllaç és que fa que un programa no depengui de cap llibreria (ja que les va enllaçar al compilar), fent més fàcil la seva distribució. L'enllaçat permet al programador i al mateix sistema operatiu dividir un programa en diversos fitxers anomenats mòduls, que poden acoblar per separat i enllaçar en una ocasió posterior, l'enllaç pot ser de naturalesa estàtica o dinàmica. L'enllaç estàtic dona com a resultat, un fitxer executable amb tots els símbols i mòduls respectius inclosos en aquest fitxer. (ca) Statická knihovna, případně staticky linkovaná knihovna, je pojem z oboru programování, kterým se označuje knihovna, jejíž kopie je linkerem zahrnuta přímo do výsledného spustitelného souboru na pevně danou adresu. Tím se odlišuje od dynamických knihoven, které jsou ve vnější paměti uloženy odděleně a do operační paměti k němu jsou nahrávány až dynamickým linkerem při startu programu. Výhodou staticky linkovaných knihoven je právě skutečnost, že je program má v sobě a nemusí spoléhat na to, že je v dané instanci operačního systému k dispozici jejich vhodná verze, ani na tom, že ji do něj doinstaluje. Protože program z hlediska knihoven na ničem nezávisí, nedochází tak k závislostnímu peklu. Zároveň může docházet k optimalizaci, kdy jsou k programu přilinkovány a následně nahrávány do operační paměti jen ty části knihovny, které program doopravdy využívá. Na druhou stranu statické knihovny neumožňují aktualizace, ať už funkční, nebo , nezávisle na programu: při potřebě opravit chybu v knihovně je potřeba zařídit pro každý program, který ji jako staticky linkovanou používá, aktualizaci zvlášť. A každý program, který knihovnu používá, zabírá místo ve vnější paměti její samostatnou kopií. V běžném stolním počítači jsou obvykle široce využívány knihovny linkované dynamicky, zatímco staticky bývají linkované jen knihovny, které dodává k programu sám jeho tvůrce. Naopak v prostředí vestavěných systémů, kde je obvykle aktualizován celý operační systém včetně programů jako celek, nepředpokládá se instalace množství programů uživateli a režie při nahrávání všech knihoven jako dynamických by při startu programů měla příliš velký vliv na výkon systémů, je statické linkování běžnější. Proto například vznikla staticky linkovaná linuxová distribuce postavená na knihovně musl optimalizované právě pro statické sestavování. (cs) In computer science, a static library or statically-linked library is a set of routines, external functions and variables which are resolved in a caller at compile-time and copied into a target application by a compiler, linker, or binder, producing an object file and a stand-alone executable. This executable and the process of compiling it are both known as a static build of the program. Historically, libraries could only be static. Static libraries are either merged with other static libraries and object files during building/linking to form a single executable or loaded at run-time into the address space of their corresponding executable at a static memory offset determined at compile-time/link-time. (en) 정적 라이브러리(Static Library)는 컴파일 타임에 호출자가 resolve 하는 루틴, 외부 함수, 변수의 집합으로 목적 파일과 단독 실행 파일 생성 중에 컴파일러와 링커에 의해 대상 애플리케이션에 복사된다. 실행 파일을 이와 같은 방식으로 컴파일 하는 과정 또는 실행 파일 그 자체를 프로그램의 라고 부른다. 역사적으로 라이브러리는 정적(static)일 수만 있었다. 정적 라이브러리는 빌드/링크 과정에서 하나의 실행 파일을 만들기 위해 다른 정적 라이브러리 또는 목적 파일과 통합되거나, 런타임 시점에 대응하는 실행 파일의 주소 공간에서 컴파일 타임/링크 타임동안 결정된 정적 메모리 오프셋 위치에 로드된다. (ko) 静的リンク(せいてきリンク、英語: static link)とは、コンピュータプログラム作成時において、ライブラリあるいはアプリケーションプログラムのモジュールをビルドする際に、各モジュールに必要なプログラムコードの実体すべてをリンケージエディタによってリンクしてモジュールに含める方式。 コンパイラによってソースコードから生成されたオブジェクトファイルを、リンク時につなぎ合わせ、実行可能形式のバイナリ(実行ファイル)を作成する。 静的リンキング、スタティックリンキングとも言う。 静的リンクの利点としては、モジュール自身に必要なコードが含まれているため自己完結できることや、シンボルの解決が事前に(静的に)実施されるためプログラム実行時のオーバーヘッドがないことなどが挙げられる。 静的リンクの欠点としては、各モジュールに重複するコードやデータがあったとしても、それぞれに実体が存在するためモジュールのサイズが大きくなってしまうことや、ライブラリの実装を変更したときに、たとえライブラリのインターフェイスに変更がなくてもプログラムを再リンクする必要があることなどが挙げられる。静的リンクされるコードの量が増えると、ビルド時のリンク時間が増大し、開発サイクルが鈍化する原因となる。また、重複するコードやデータはメモリを圧迫し、キャッシュが頻繁にクリアされることで実行速度が低下する原因にもなる。 なお、静的リンクライブラリは通例処理系ごとに固有のアプリケーションバイナリインタフェース (ABI) に依存する形式となるため、ABI互換のない処理系間で共有・再利用することはできない。 (ja) Em ciência da computação, uma biblioteca estática ou biblioteca ligada estaticamente é um conjunto de rotinas, funções externas e variáveis que são resolvidas em um chamador em tempo de compilação e copiadas em uma aplicação alvo por um compilador, vinculador ou ligador, produzindo um arquivo objeto e um executável . Este executável e o processo de compilação são ambos conhecidos como uma do programa. Historicamente, as bibliotecas só podiam ser estáticas. Bibliotecas estáticas são mescladas com outras bibliotecas estáticas e arquivos objeto durante a compilação/ligação para formar um único executável ou carregado em tempo de execução no espaço de endereços de seus executáveis correspondentes em um deslocamento de memória estático determinado em tempo de compilação/ligação. (pt) Biblioteka statyczna (ang. static library) – rodzaj biblioteki funkcji, która łączona jest z programem w momencie konsolidacji. W przypadku narzędzi dostarczonych przez Microsoft dla systemów z rodziny Windows pliki bibliotek mają zazwyczaj rozszerzenia .lib lub .obj, natomiast dla pakietów w systemach z rodziny Unix (np. GCC) i ich portach dla systemu Microsoftu (jakim jest np. MinGW) są to .a lub .o. (pl) 在计算机科学中,靜態庫(英語:Static library, Statically-linked library),或称靜態函式庫,是一個外部函式與變數的集合體。靜態函式庫的檔案內容,通常包含一堆程式設計師自定的變數與函式,其內容不像動態連結庫那麼複雜,在編譯期間由編譯器與链接器將它整合至應用程式內,並製作成目的檔以及可以獨立運作的執行檔。而這個執行檔與編譯執行檔的程序,都是一種程式的靜態建立(static build)。以過去的觀點來說,函式庫只能算是靜態(static)類型。 需要特别指明的一点是,Linux系统下的静态库文件并非ELF二进制文件 (zh) Статична бібліотека (також бібліотека статичного зв'язування) — поняття у інформатиці, що означає бібліотеку підпрограм, яка зв'язується (компонується) з програмою на етапі побудови. Підпрограми таким чином копіюються безпосередньо у двійковий файл програми, що створюється.Програма, побудована таким чином, називається статичною, на противагу динамічній, що потребує компонування з бібліотеками на етапі виконання. (uk) |
dbo:wikiPageID | 2692227 (xsd:integer) |
dbo:wikiPageLength | 5568 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1035690375 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:DLL_Hell dbr:Unix-like dbr:Dependency_hell dbr:Dynamic-link_library dbr:Library_(computing) dbr:Compiler dbr:Run_time_(program_lifecycle_phase) dbr:Object_file dbr:Standalone_program dbr:Static_build dbr:Computer_science dbr:Static_(keyword) dbr:Static_memory_allocation dbr:C++ dbr:C_(programming_language) dbr:Address_space dbr:Linker_(computing) dbr:Loader_(computing) dbr:Dynamic_linking dbc:Computer_libraries dbr:Microsoft_Windows dbr:X_Window_System dbr:Shared_library dbr:External_variable dbr:Executable dbr:Package_management_system dbr:Linking_loader dbr:Compile-time dbr:External_linkage dbr:Prebinding dbr:Storage_classes_in_C |
dbp:wikiPageUsesTemplate | dbt:Mono dbt:Refimprove dbt:Application_binary_interface |
dcterms:subject | dbc:Computer_libraries |
gold:hypernym | dbr:Set |
rdf:type | yago:WikicatComputerLibraries yago:Abstraction100002137 yago:Area102735688 yago:Arrangement107938773 yago:Artifact100021939 yago:Extension106335162 yago:Group100031264 yago:Library103660909 yago:Object100002684 yago:Ordering108456993 yago:PhysicalEntity100001930 yago:YagoGeoEntity yago:YagoPermanentlyLocatedEntity yago:Room104105893 yago:Sequence108459252 yago:Series108457976 yago:String107013549 yago:Structure104341686 yago:Whole100003553 yago:WikicatFilenameExtensions |
rdfs:comment | In computer science, a static library or statically-linked library is a set of routines, external functions and variables which are resolved in a caller at compile-time and copied into a target application by a compiler, linker, or binder, producing an object file and a stand-alone executable. This executable and the process of compiling it are both known as a static build of the program. Historically, libraries could only be static. Static libraries are either merged with other static libraries and object files during building/linking to form a single executable or loaded at run-time into the address space of their corresponding executable at a static memory offset determined at compile-time/link-time. (en) 정적 라이브러리(Static Library)는 컴파일 타임에 호출자가 resolve 하는 루틴, 외부 함수, 변수의 집합으로 목적 파일과 단독 실행 파일 생성 중에 컴파일러와 링커에 의해 대상 애플리케이션에 복사된다. 실행 파일을 이와 같은 방식으로 컴파일 하는 과정 또는 실행 파일 그 자체를 프로그램의 라고 부른다. 역사적으로 라이브러리는 정적(static)일 수만 있었다. 정적 라이브러리는 빌드/링크 과정에서 하나의 실행 파일을 만들기 위해 다른 정적 라이브러리 또는 목적 파일과 통합되거나, 런타임 시점에 대응하는 실행 파일의 주소 공간에서 컴파일 타임/링크 타임동안 결정된 정적 메모리 오프셋 위치에 로드된다. (ko) Em ciência da computação, uma biblioteca estática ou biblioteca ligada estaticamente é um conjunto de rotinas, funções externas e variáveis que são resolvidas em um chamador em tempo de compilação e copiadas em uma aplicação alvo por um compilador, vinculador ou ligador, produzindo um arquivo objeto e um executável . Este executável e o processo de compilação são ambos conhecidos como uma do programa. Historicamente, as bibliotecas só podiam ser estáticas. Bibliotecas estáticas são mescladas com outras bibliotecas estáticas e arquivos objeto durante a compilação/ligação para formar um único executável ou carregado em tempo de execução no espaço de endereços de seus executáveis correspondentes em um deslocamento de memória estático determinado em tempo de compilação/ligação. (pt) Biblioteka statyczna (ang. static library) – rodzaj biblioteki funkcji, która łączona jest z programem w momencie konsolidacji. W przypadku narzędzi dostarczonych przez Microsoft dla systemów z rodziny Windows pliki bibliotek mają zazwyczaj rozszerzenia .lib lub .obj, natomiast dla pakietów w systemach z rodziny Unix (np. GCC) i ich portach dla systemu Microsoftu (jakim jest np. MinGW) są to .a lub .o. (pl) 在计算机科学中,靜態庫(英語:Static library, Statically-linked library),或称靜態函式庫,是一個外部函式與變數的集合體。靜態函式庫的檔案內容,通常包含一堆程式設計師自定的變數與函式,其內容不像動態連結庫那麼複雜,在編譯期間由編譯器與链接器將它整合至應用程式內,並製作成目的檔以及可以獨立運作的執行檔。而這個執行檔與編譯執行檔的程序,都是一種程式的靜態建立(static build)。以過去的觀點來說,函式庫只能算是靜態(static)類型。 需要特别指明的一点是,Linux系统下的静态库文件并非ELF二进制文件 (zh) Статична бібліотека (також бібліотека статичного зв'язування) — поняття у інформатиці, що означає бібліотеку підпрограм, яка зв'язується (компонується) з програмою на етапі побудови. Підпрограми таким чином копіюються безпосередньо у двійковий файл програми, що створюється.Програма, побудована таким чином, називається статичною, на противагу динамічній, що потребує компонування з бібліотеками на етапі виконання. (uk) Una biblioteca estàtica és aquella que s'enllaça en temps de compilació (en oposició a una d'enllaç dinàmic, que s'enllaça en temps d'execució). L'avantatge d'aquest tipus d'enllaç és que fa que un programa no depengui de cap llibreria (ja que les va enllaçar al compilar), fent més fàcil la seva distribució. (ca) Statická knihovna, případně staticky linkovaná knihovna, je pojem z oboru programování, kterým se označuje knihovna, jejíž kopie je linkerem zahrnuta přímo do výsledného spustitelného souboru na pevně danou adresu. Tím se odlišuje od dynamických knihoven, které jsou ve vnější paměti uloženy odděleně a do operační paměti k němu jsou nahrávány až dynamickým linkerem při startu programu. V běžném stolním počítači jsou obvykle široce využívány knihovny linkované dynamicky, zatímco staticky bývají linkované jen knihovny, které dodává k programu sám jeho tvůrce. (cs) 静的リンク(せいてきリンク、英語: static link)とは、コンピュータプログラム作成時において、ライブラリあるいはアプリケーションプログラムのモジュールをビルドする際に、各モジュールに必要なプログラムコードの実体すべてをリンケージエディタによってリンクしてモジュールに含める方式。 コンパイラによってソースコードから生成されたオブジェクトファイルを、リンク時につなぎ合わせ、実行可能形式のバイナリ(実行ファイル)を作成する。 静的リンキング、スタティックリンキングとも言う。 静的リンクの利点としては、モジュール自身に必要なコードが含まれているため自己完結できることや、シンボルの解決が事前に(静的に)実施されるためプログラム実行時のオーバーヘッドがないことなどが挙げられる。 静的リンクの欠点としては、各モジュールに重複するコードやデータがあったとしても、それぞれに実体が存在するためモジュールのサイズが大きくなってしまうことや、ライブラリの実装を変更したときに、たとえライブラリのインターフェイスに変更がなくてもプログラムを再リンクする必要があることなどが挙げられる。静的リンクされるコードの量が増えると、ビルド時のリンク時間が増大し、開発サイクルが鈍化する原因となる。また、重複するコードやデータはメモリを圧迫し、キャッシュが頻繁にクリアされることで実行速度が低下する原因にもなる。 (ja) |
rdfs:label | Enllaçat estàtic (ca) Statická knihovna (cs) 정적 라이브러리 (ko) 静的リンク (ja) Biblioteka statyczna (pl) Static library (en) Biblioteca estática (pt) 静态库 (zh) Статична бібліотека (uk) |
owl:sameAs | freebase:Static library yago-res:Static library wikidata:Static library dbpedia-ca:Static library dbpedia-cs:Static library dbpedia-ja:Static library dbpedia-ko:Static library dbpedia-pl:Static library dbpedia-pt:Static library dbpedia-uk:Static library dbpedia-zh:Static library https://global.dbpedia.org/id/31jF1 |
prov:wasDerivedFrom | wikipedia-en:Static_library?oldid=1035690375&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Static_library |
is dbo:wikiPageDisambiguates of | dbr:Static dbr:Lib |
is dbo:wikiPageRedirects of | dbr:.a dbr:Static_linking dbr:Static_Library dbr:Static_archive dbr:Static_binary dbr:Static_compilation dbr:Static_executable dbr:Static_libraries dbr:Statically_Linked_Library dbr:Statically_linked_library dbr:.lib |
is dbo:wikiPageWikiLink of | dbr:Prelink dbr:List_of_file_formats dbr:Bionic_(software) dbr:List_of_archive_formats dbr:Relocation_(computing) dbr:DLL_Hell dbr:Dependency_hell dbr:Dynamic-link_library dbr:Dynamic_loading dbr:Inline_function dbr:Interprocedural_optimization dbr:Library_(computing) dbr:.a dbr:SCM_(Scheme_implementation) dbr:SQLite dbr:GNU_Autotools dbr:GNU_Libtool dbr:Go_(programming_language) dbr:Apache_Gump dbr:Ar_(Unix) dbr:License_compatibility dbr:Ltrace dbr:Static_build dbr:Static dbr:Static_linking dbr:Burnside_Library dbr:Windows_NT_booting_process dbr:Linker_(computing) dbr:Loader_(computing) dbr:Package_manager dbr:FLTK dbr:User_exit dbr:Heartbleed dbr:Static_Library dbr:Java_applet dbr:Microsoft_Foundation_Class_Library dbr:MinGW dbr:Mingw-w64 dbr:OS-9 dbr:Vmlinux dbr:Lib dbr:TDM-GCC dbr:Xynth dbr:Windows.h dbr:Static_archive dbr:Static_binary dbr:Static_compilation dbr:Static_executable dbr:Static_libraries dbr:Statically_Linked_Library dbr:Statically_linked_library dbr:.lib |
is foaf:primaryTopic of | wikipedia-en:Static_library |