Əsas Fərq – Bağlayıcı və Yükləyici
Kompüterə göstərişlər vermək üçün kompüter proqramı istifadə olunur. Müəyyən bir proqramlaşdırma dilindən istifadə edərək yazılmışdır. C, Java kimi proqramlaşdırma dilləri yüksək səviyyəli proqramlaşdırma dilləridir və insanlar tərəfindən başa düşülür, lakin kompüter tərəfindən deyil. Buna görə də yüksək səviyyəli proqram dil tərcüməçisindən istifadə edərək maşın dilinə çevrilir. Yüksək səviyyəli dildən istifadə etməklə yazılmış proqram mənbə kodudur. Konversiyadan sonra tərcümə edilmiş kod obyekt kodu adlanır. Bağlayıcı və yükləyici proqramın icrası üçün istifadə olunan iki proqramdır. Bu məqalə Linker və Loader arasındakı fərqdən bəhs edir. Linker obyekt kodunu başlıq faylları kimi əlavə fayllarla əlaqələndirən və.exe uzantılı icra edilə bilən fayl yaradan proqramdır. Yükləyici, əlaqələndirici tərəfindən yaradılan icra edilə bilən faylı əsas yaddaşa yükləyən sistem proqramıdır. Bağlayıcı və Yükləyici arasında əsas fərq budur.
Bağlayıcı nədir?
Kompüter proqramı müəyyən tapşırığı yerinə yetirmək üçün kompüterə verilən təlimatlar toplusudur. Kompüter proqramı proqramlaşdırma dilindən istifadə etməklə yazıla bilər. Proqramlaşdırma dillərinin əksəriyyəti yüksək səviyyəli proqramlaşdırmadır. Onlar proqramçı tərəfindən asanlıqla başa düşülən və oxuna biləndir. Bu dillər ingilis dilinə oxşar sintaksisə əməl edirlər. Yüksək səviyyəli dillərin bəzi nümunələri Java, C və Pythondur. Yüksək səviyyəli proqramlaşdırma dili ilə yazılmış proqram mənbə kodu, mənbə faylı və ya mənbə proqramı kimi tanınır. Mənbə kodunun genişləndirilməsi onun işləndiyi dildən asılıdır. Əgər mənbə kodu C++ dilində yazılıbsa, fayl uzantısı.cpp. Mənbə kodu Python-da yazılıbsa, genişləndirmə.py.-dir.
Hətta mənbə kodu proqramçı tərəfindən başa düşüləndir; kompüter tərəfindən başa düşülən deyil. Buna görə də, mənbə kodu dil tərcüməçisindən istifadə edərək maşın başa düşülən formata çevrilməlidir. Bu kompilyator və ya tərcüməçi ola bilər. Tərcümə edilmiş kod obyekt kodu kimi tanınır. Obyekt kodu maşın dilindədir. Sıfırlardan və birdən ibarətdir. Kompüter obyekt kodunu birbaşa başa düşə bilər. Onun.obj uzantısı var. Test.c kimi mənbə kodu varsa, o, tərtibçidən keçir və çevrilmiş kod Test.obj olur.
Linker obyekt kodunu başlıq faylları kimi əlavə fayllarla əlaqələndirən və.exe uzantılı icra edilə bilən fayl yaradan proqramdır. Proqram daxili funksiyalardan istifadə etmiş ola bilər. Bu daxili funksiyalar üçün funksiyalar başlıq fayllarındadır. Yuxarıda izah edilən nümunəyə görə, Test olan obyekt kodu.obj Linkerdən istifadə edərək lazımi başlıq faylları ilə əlavə olunur. Test.exe adlı yeni bir fayl yaradır. Bu icra edilə bilən fayldır. Buna görə də o, kompüter tərəfindən icra edilə bilər.
Loader nədir?
İcra edilməli olan proqram yaddaşa yerləşdirilməlidir. Bağlayıcı obyekt kodunu və başlıq fayllarını əlaqələndirir və icra olunan faylı çıxarır. Yükləyici, əlaqələndirici tərəfindən yaradılan icra edilə bilən faylı əsas yaddaşa yükləyən sistem proqramıdır. Yaddaş yerini əsas yaddaşda icra olunan modula ayırır. Beləliklə, yükləyici proqramların və kitabxanaların yüklənməsinə cavabdeh olan əməliyyat sisteminin bir hissəsidir.
Şəkil 01: Mənbə kodunun Yaddaşa yüklənmə sırası
Proqramın yüklənməsi bir neçə addımı əhatə edir. Bu, proqram təlimatını ehtiva edən icra edilə bilən faylın məzmununu yaddaşda oxumağı və həmçinin icra olunan faylı işə salmaq üçün lazımi hazırlıq işlərini yerinə yetirməyi əhatə edir. Yükləmə tamamlandıqdan sonra əməliyyat sistemi yüklənmiş proqram koduna nəzarəti ötürərək proqramı işə salır. Daxili sistemlər kimi xüsusi kompüter sistemlərində ümumiyyətlə yükləyicilər yoxdur. Kod birbaşa ROM tərəfindən icra edilir.
Bağlayıcı və Yükləyici arasında əlaqə nədir?
Bağlayıcının çıxışı Yükləyiciyə gedir
Bağlayıcı və Yükləyici Arasındakı Fərq Nədir?
Linker vs Loader |
|
Linker obyekt kodunu başlıq faylları kimi əlavə fayllarla əlaqələndirən və.exe uzantılı icra edilə bilən fayl yaradan proqramdır. | Yükləyici, əlaqələndirici tərəfindən yaradılan icra edilə bilən faylı əsas yaddaşa yükləyən sistem proqramıdır. |
Daxiletmə | |
Bağlayıcı obyekt kodu olan dil tərcüməçisinin çıxışını alır. | Yükləyici icra olunan fayl olan əlaqələndiricidən çıxışı götürür. |
Funksionallıq | |
Bağlayıcı obyekt kodunu və başlıq fayllarını əlaqələndirir və icra olunan faylı çıxarır. | Yükləyici linkerdən əldə edilmiş icra olunan faylı əsas yaddaşa yükləyir. |
Xülasə – Bağlayıcı və Yükləyici
Linker və Loader proqramın icrası ilə bağlı iki proqram komponentidir. Bu məqalə Bağlayıcı və Yükləyici arasındakı fərqi müzakirə etdi. Linker obyekt kodunu başlıq faylları kimi əlavə fayllarla əlaqələndirən və.exe uzantılı icra edilə bilən fayl yaradan proqramdır. Yükləyici, əlaqələndirici tərəfindən yaradılan icra edilə bilən faylı əsas yaddaşa yükləyən sistem proqramıdır. Linker və Loader arasındakı fərq budur.