Razlika između asemblera i interpretera

Razlika između asemblera i interpretera
Razlika između asemblera i interpretera

Video: Razlika između asemblera i interpretera

Video: Razlika između asemblera i interpretera
Video: 📼 DLL - Динамически загружаемые библиотеки (Win32 API). Программирование в ОС Windows. Лекция 3. 2024, Srpanj
Anonim

Asembler vs Interpreter

Općenito, kompajler je računalni program koji čita program napisan na jednom jeziku, koji se naziva izvorni jezik, i prevodi ga na drugi jezik, koji se naziva ciljni jezik. Tradicionalno, izvorni jezik je jezik visoke razine kao što je C++, a ciljni jezik je jezik niske razine kao što je asemblerski jezik. Međutim, postoje prevoditelji koji mogu pretvoriti izvorni program napisan u asemblerskom jeziku i pretvoriti ga u strojni kod ili objektni kod. Asembleri su takvi alati. S druge strane, Interpreteri su alati koji izvršavaju instrukcije napisane u nekom programskom jeziku. Interpreter može ili izravno izvršiti izvorni kod visoke razine ili ih prevesti u međukod i zatim ga interpretirati ili izvršiti unaprijed kompilirani kod.

Što je asembler?

Assembler je softver ili alat koji prevodi asemblerski jezik u strojni kod. Dakle, asembler je vrsta prevoditelja i izvorni kod je napisan u asemblerskom jeziku. Asembler je čovjeku čitljiv jezik, ali obično ima odnos jedan prema jedan s odgovarajućim strojnim kodom. Stoga se za asembler kaže da izvodi izomorfno (preslikavanje jedan na jedan) prevođenje. Napredni asembleri pružaju dodatne značajke koje podržavaju razvoj programa i procese otklanjanja pogrešaka. Na primjer, vrsta asemblera koji se nazivaju makro asembleri pružaju mogućnost makroa.

Što je tumač?

Interpretator je računalni program ili alat koji izvršava programske instrukcije. Interpretator može ili izravno izvršiti izvorni kod ili pretvoriti izvorni kod u međukod i izvršiti ga izravno ili izvršiti prethodno kompajlirani kod koji je proizveo prevodilac (neki sustavi tumača uključuju kompajler za ovaj zadatak). Jezici kao što su Perl, Python, MATLAB i Ruby primjeri su programskih jezika koji koriste međukod. UCSD Pascal interpretira unaprijed kompilirani kod. Jezici kao što su Java, BASIC i Samlltalk prvo kompajliraju izvorni kod u međukod koji se naziva bajt-kod, a zatim ga interpretiraju.

Koja je razlika između Asemblera i Interpretera?

Assembler se može smatrati posebnom vrstom prevoditelja, koji samo prevodi asemblerski jezik u strojni kod. Tumači su alati koji izvršavaju instrukcije napisane na nekom jeziku. Sustavi tumača mogu uključivati kompilator za prethodno kompajliranje koda prije interpretacije, ali interpreter se ne može nazvati posebnom vrstom prevoditelja. Asembleri proizvode objektni kod, koji se možda mora povezati pomoću programa povezivanja kako bi se izvodio na stroju, ali većina tumača može sama dovršiti izvođenje programa. Asembler će obično napraviti prijevod jedan na jedan, ali to ne vrijedi za većinu tumača. Budući da asemblerski jezik ima preslikavanje jedan na jedan sa strojnim kodom, asembler se može koristiti za proizvodnju koda koji radi vrlo učinkovito u prilikama u kojima je izvedba vrlo važna (za npr. grafičke motore, ugrađene sustave s ograničenim hardverskim resursima u usporedbi s osobnim računalom poput mikrovalnih pećnica, perilica rublja itd.). S druge strane, tumači se koriste kada je potrebna visoka prenosivost. Na primjer, isti Java bajt kod može se pokrenuti na različitim platformama korištenjem odgovarajućeg tumača (JVM).

Preporučeni: