Кіріспе
Статикалық құрастыру – кітапханалармен статикалық байланысқан бағдарламаның компиляцияланған түрі.
Байланыстыру
Компьютерлік ғылымда, байланыстыру – компиляторлар жасаған бір немесе бірнеше объектіні алып, оларды біртұтас орындалатын бағдарламаға біріктіру процесі. Объектілер – машиналық кодты және символдардың анықтамаларын қамтитын бағдарлама модульдері, олар екі түрге бөлінеді: Анықталған немесе экспортталған символдар – бұл объектіде бейнеленген модульде кездесетін және басқа модульдердің қолдануына қолжетімді функциялар немесе айнымалылар. Анықталмаған немесе импортталған символдар – бұл объект шақыратын немесе сілтеме жасайтын, бірақ ішінде анықталмаған функциялар немесе айнымалылар. Байланыстыру бағдарламасы, осы символдарға сілтемелерді шешеді, яғни қандай басқа объекті берілген символды анықтайтынын анықтап, орын алмастырғыштарды символдың мекенжайымен ауыстырады. Байланыстырушылар кітапхана деп аталатын жинақтан объектілерді алуға болады. Соңғы бағдарламаға кітапхананың толығымен емес, тек қажетті объектілер ғана қосылады. Әртүрлі мақсаттарға арналған кітапханалар бар, және әдетте бір немесе бірнеше жүйелік кітапханалар автоматты түрде қосылады.
Defined or exported symbols are functions or variables that are present in the module represented by the object, and which should be available for use by other modules. Undefined or imported symbols are functions or variables that are called or referenced by this object, but not internally defined. A linker program then resolves references to undefined symbols by finding out which other object defines a symbol in question, and replacing placeholders with the symbol's address. Linkers can take objects from a collection called a library. The final program does not include the whole library, only those objects from it that are needed. Libraries for diverse purposes exist, and one or more system libraries are usually linked in by default.
Статикалық ғимарат
Статикалық түрде құрылған бағдарламада динамикалық байланыс болмайды: барлық байланыстар компиляция кезінде жасалады. Статикалық құрастырудың өте болжамды мінез-құлқы бар (өйткені ол соңғы жүйеде қол жетімді кітапханалардың нақты нұсқасына тәуелді емес), және бұл сот-медициналық және қауіпсіздік құралдарында жиі кездеседі, себебі зертенетін машинадағы бұзылған кітапханалардан туындаған ластану немесе жұмыс істемеу мүмкіндігін болдырмауға көмектеседі. Бір кітапхананың жаңартылуының барлық динамикалық байланысты қолданбаларға тиетін икемділігі, сонымен қатар белгілі бір кітапхананың нақты нұсқасының болуын күтетін қолданбалардың дұрыс жұмыс істеуіне кедергі келтіруі мүмкін. Егер жүйедегі әрбір қолданбаның дұрыс жұмыс істеуі үшін динамикалық кітапхананың жеке данасы қажет болса, онда динамикалық байланыстың артықшылығы жоғалады. Статикалық құрастырудың тағы бір артықшылығы – оның портативтілігі: соңғы орындалатын файл құрастырылғаннан кейін, бағдарлама сілтеме жасайтын кітапхана файлдарын сақтау қажеттігі туындамайды, себебі барлық қажетті бөліктер орындалатын файлға көшіріледі. Осының нәтижесінде, компьютерге статикалық бағдарламаны орнатқанда пайдаланушы қосымша кітапханаларды жүктеу және орнату қажеттігін сезінбейді: бағдарлама бірден жұмыс істеуге дайын.