Кіріспе
Solaris Direct байланысындағы линкер мен динамикалық линкердің ерекшелігі Solaris және OpenSolaris-тегі линкер мен динамикалық линкердің ерекшелігі болып табылады. Ол кітапханаларға символдарды басқа кітапханаларға тікелей байлауға мүмкіндік беретін әдісті ұсынады, олармен әлсіз байлаудың орнына және қай кітапханада символ бар екенін анықтау үшін динамикалық сілтемені қалдырады.
Direct binding is a feature of the linker and dynamic linker on Solaris and OpenSolaris. It provides a method to allow libraries to directly bind symbols to other libraries, rather than weakly bind to them and leave the dynamic linker to figure out which library contains the symbol.
Теория
Ортақ кітапхананы немесе динамикалық байланыстырылатын орындалатын файлды сілтегенде, сілтеуіш әдетте сол кітапхананың символдар кестесін барлық қажетті символдармен толтырады. Ол ағымдағы нысандағы символдарды олардың ауысуымен қосады және объекттегі анықталмаған символдарды шешілмей қалдырады. Шешілмеген символдар сілтеме кезінде әлі де белгілі болуы керек, бірақ сілтеуішпен байланыстыратын ортақ кітапханалар беріледі және ол басқа кітапханада символ тапқан кезде, ол шығыс кітапханасына осы басқа ортақ кітапханаларға тәуелді екенін көрсететін жазбаны қояды. Бұл әлсіз байланыстыру динамикалық байланыстырушыны орындалатын файл қай кітапханада қай символ бар екенін анықтауға мәжбүрлейді. Мысалы, Linux-тағы динамикалық сілтемелеуші ELF объектісінің DT NEEDED бөлімін оқып, қажетті кітапханаларды жүктейді; бірақ қажетті символдардың қайда екені айтылмайды. Ол үшін объектінің әр шешілмеген символын қайталап, олардың әрқайсысы үшін әрбір жүктелген кітапхананы қайталап, сәйкес келетін символ тапқанша тексеру керек. Бұл көп уақытты алады. Тікелей сілтемелер бұл мәселені шешу үшін DT NEEDED жазуларына сілтемелер тізіміне сәйкес келетін сілтемелерді бөлек ELF бөлімінде сақтайды. Әрбір меңзер объекттегі символға сәйкес келеді; осылайша, бұл меңзерлер символ мен DT NEEDED жазуы арасында байланыс жасайды. Бұл сілтеуішке белгілі бір DT NEEDED жазуымен көрсетілген кітапхананы табуға және әрбір символ үшін әр кітапхананы қайталаудың орнына, әрбір символ үшін тек оның символдар кестесін тексеруге мүмкіндік береді.