webForumDet fria alternativet

Interpretera - Kompilera kod

7 svar · 1 731 visningar · startad av Insider

InsiderMedlem sedan jan. 20001 003 inlägg
#1

Vad är den exakta skillnaden???

frankofMedlem sedan jan. 20014 275 inlägg
#2

Interpretera = tolka, används för scriptspråk
Kompilera = Översätta?(inget bra ;) ) Göra om programeringsspråk till körbara filer.

InsiderMedlem sedan jan. 20001 003 inlägg
#3

Kan någon förklara mer detaljerat vad som händer....
Interpreter är ju engelska för översättare.
Compile betyder sammanställa...
Lite rörigt tycker jag.

SPiNMedlem sedan mars 20005 832 inlägg
#4

Java är ett exempel där man använder interpretering, man får en kod som måste tolkas av en runtime - i Java's fall en JRE ( Java Runtime Environment ). Det gör att man kan flytta runt sina filer på diverse plattformar, och låta den plattformsberoende JRE:n översätta den interpreterade koden till en körbar fil som passar det operativsystemet och burken.

Kompilerade program blir oftast plattformsberoende, då kompilatorn kompilerar till ett program som passar plattformen den körs på. Det är därför Windows-program t.ex. inte går att köra på en Linux-burk direkt.

Så har åtminstone jag förstått det... :)
Lite svårt att förklara, jag märker att det blev lite haffsigt.

UlfTMedlem sedan maj 20016 050 inlägg
#5

Interpretera - Tolka koden och utföra den. Handlar oftast om att ett program läser alla klartextinstruktioner i ett shellscript eller liknande, och utför dem. Det fall som SPiN nämnde med javaprogram ser jag snarare som ett mellanting mellan interpretering och kompilering. Java-källkoden blir ju kompilerad till något. Dock inte maskinkod, utan en så kallad bytekod, vilken i sin tur interpreteras av ett tolkprogram.

Kompilera - Översätta till maskinkod som förstås av processorn. Men visst är compile=sammanställa. Man kanske har tänkt på att programmets källkod ofta finns i många olika filer, och dessutom utnyttjar sig av diverse bibliotek. Då kommer kompileringen dessutom sammanställa allt det där genom någon länkning.

SPiNMedlem sedan mars 20005 832 inlägg
#6

Word, UlfT. Jag måste glömt bort bytekoden...

ToonsterMedlem sedan feb. 20001 546 inlägg
#7

interpreterade koden till en körbar fil

Det skapas inte någon körbar fil i ordets bemärkelse. Det finns alltså aldrig någon exekverbar binärfil.
Allt interpreteras i realtid dvs. när programmet körs. Detta sker i primärminnet.
Det enda som är ett "riktigt" program är Java "motorn"

Ett viktigt tillägg är ju också länkningen.
Vid kompilering skapas objektkod, dvs block av binär maskinkod. För att detta ska bli en körbar fil, så måste den länkas.
Väldigt ofta består ett program av flera objektfiler som är kompilerade vid olika tidpunkter, som länkas ihop.

Detta sköts oftast automatiskt när man arbetar i en integrerad utvecklingsmiljö.

/T

PeWMedlem sedan juni 20006 839 inlägg
#8

Tilläggas kan att Java är ett av de yngre språken som använder denna teknik, den har funnits bra länge och såvitt jag vet utvecklades tekniken med en "virtual machine" med P-code (1973-75?) utvecklat av N.Wirth för att kunna köra Pascal på stora hemska IBM containers :e.

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb