Негізгі айырмашылық – байланыстырғыш пен жүктеуші
Компьютерге нұсқаулар беру үшін компьютер бағдарламасы пайдаланылады. Ол белгілі бір бағдарламалау тілі арқылы жазылады. C, Java сияқты бағдарламалау тілдері жоғары деңгейлі бағдарламалау тілдері болып табылады және олар адамдарға түсінікті, бірақ компьютерге түсінікті. Сондықтан жоғары деңгейлі бағдарлама тілдік транслятор көмегімен машина тіліне түрлендіріледі. Жоғары деңгейлі тілде жазылған бағдарлама бастапқы код болып табылады. Түрлендіруден кейін аударылған код объектілік код деп аталады. Байланыстырушы және жүктеуші - бұл бағдарламаны орындау үшін қолданылатын екі бағдарламалық құрал. Бұл мақалада Linker және Loader арасындағы айырмашылық талқыланады. Linker – тақырыптық файлдар сияқты қосымша файлдармен нысан кодын байланыстыратын және.exe кеңейтімі бар орындалатын файлды жасайтын бағдарламалық құрал. Жүктеуші - негізгі жадқа сілтеме жасайтын орындалатын файлды жүктейтін жүйелік бағдарламалық құрал. Бұл Linker мен Loader арасындағы негізгі айырмашылық.
Linker дегеніміз не?
Компьютерлік бағдарлама – белгілі бір тапсырманы орындау үшін компьютерге берілген нұсқаулар жиынтығы. Компьютерлік бағдарламаны программалау тілі арқылы жазуға болады. Бағдарламалау тілдерінің көпшілігі жоғары деңгейлі бағдарламалау болып табылады. Оларды бағдарламашы оңай түсінуге және оқуға болады. Бұл тілдер ағылшын тіліне ұқсас синтаксисті ұстанады. Жоғары деңгейлі тілдердің кейбір мысалдары Java, C және Python болып табылады. Жоғары деңгейлі бағдарламалау тілінде жазылған бағдарлама бастапқы код, бастапқы файл немесе бастапқы бағдарлама ретінде белгілі. Бастапқы кодтың кеңейтілуі ол әзірленген тілге байланысты. Егер бастапқы код C++ тілінде жазылса, онда файл кеңейтімі.cpp. Бастапқы код Python тілінде жазылған болса, кеңейтім.py. болады.
Тіпті бастапқы кодты бағдарламашы түсінеді; бұл компьютерге түсініксіз. Сондықтан бастапқы кодты тілдік аудармашы арқылы машинаға түсінікті пішімге түрлендіру керек. Бұл компилятор немесе интерпретатор болуы мүмкін. Аударылған код нысан коды ретінде белгілі. Объектінің коды машина тілінде. Ол нөлдерден және бірден тұрады. Компьютер объектінің кодын тікелей түсіне алады. Оның.obj кеңейтімі бар. Test.c ретінде бастапқы код болса, ол компилятор арқылы өтеді және түрлендірілген код Test.obj болады.
Linker – нысан кодын тақырып файлдары сияқты қосымша файлдармен байланыстыратын және.exe кеңейтімі бар орындалатын файлды жасайтын бағдарламалық құрал. Бағдарлама кірістірілген функцияларды пайдаланған болуы мүмкін. Бұл кірістірілген функцияларға арналған функциялар тақырып файлдарында болады. Жоғарыда түсіндірілген мысалға сәйкес, Test болып табылатын нысан коды.obj сілтемені пайдаланып қажетті тақырып файлдарымен қосылады. Ол Test.exe деп аталатын жаңа файлды жасайды. Бұл орындалатын файл. Сондықтан оны компьютер орындай алады.
Loader дегеніміз не?
Орындалатын бағдарлама жадқа орналастырылуы керек. Сілтемеші нысан коды мен тақырып файлдарын байланыстырады және орындалатын файлды шығарады. Жүктеуші - негізгі жадқа сілтеме жасайтын орындалатын файлды жүктейтін жүйелік бағдарламалық құрал. Ол негізгі жадтағы орындалатын модульге жад кеңістігін бөледі. Демек, жүктеуші - бағдарламалар мен кітапханаларды жүктеуге жауап беретін операциялық жүйенің бөлігі.
01-сурет: бастапқы кодтың жадқа жүктелу реті
Бағдарламаны жүктеу бірнеше қадамдарды қамтиды. Ол жадта бағдарлама нұсқауы бар орындалатын файлдың мазмұнын оқуды, сонымен қатар орындалатын файлды іске қосу үшін қажетті дайындық тапсырмаларын орындауды қамтиды. Жүктеу аяқталғаннан кейін операциялық жүйе жүктелген бағдарлама кодына басқаруды беру арқылы бағдарламаны іске қосады. Енгізілген жүйелер сияқты арнайы компьютерлік жүйелерде әдетте жүктеушілер болмайды. Код тікелей ROM арқылы орындалады.
Байланыстырғыш пен жүктегіштің арасындағы байланыс қандай?
Сілтеме құралының шығысы жүктегішке өтеді
Байланыстырғыш пен жүктегіштің айырмашылығы неде?
Linker vs Loader |
|
Linker – нысан кодын тақырып файлдары сияқты қосымша файлдармен байланыстыратын және.exe кеңейтімі бар орындалатын файлды жасайтын бағдарламалық құрал. | Жүктеуіш - негізгі жадқа сілтеме жасайтын орындалатын файлды жүктейтін жүйелік бағдарламалық құрал. |
Кіріс | |
Сілтеуіш нысан коды болып табылатын тіл аудармашысының шығысын алады. | Жүктеуші орындалатын файл болып табылатын сілтемеден нәтижені алады. |
Функционалдық | |
Сілтемеші нысан коды мен тақырып файлдарын байланыстырады және орындалатын файлды шығарады. | Жүктеуіш сілтемеден алынған орындалатын файлды негізгі жадқа жүктейді. |
Қорытынды – байланыстырушы және жүктегіш
Linker және Loader – бағдарламаны орындауға қатысты екі бағдарламалық құрал құрамдастары. Бұл мақалада байланыстырғыш пен жүктеуші арасындағы айырмашылық талқыланды. Linker – тақырыптық файлдар сияқты қосымша файлдармен нысан кодын байланыстыратын және.exe кеңейтімі бар орындалатын файлды жасайтын бағдарламалық құрал. Жүктеуші - негізгі жадқа сілтеме жасайтын орындалатын файлды жүктейтін жүйелік бағдарламалық құрал. Бұл Linker және Loader арасындағы айырмашылық.