Skip to main content

Hvad er en grentabel?

En grentabel er en metode til effektivt at overføre programkontrol fra en del af et program til et andet eller til et andet program, der er indlæst dynamisk ved at sende en gren af instruktioner eller ved at implementere en switch -sætning.Denne metode, der undertiden kaldes et springtabel, er afhængig af et sæt omstændigheder eller betingelser for at udføre et spring for at implementere en procedure i henhold til en switch -sætning fra en C+ -kompiler.Nogle af de vigtigste fordele ved grenborde er deres kompakte kodestruktur, og en reduktion i behovet for at teste returkoder individuelt, når der bestemmes programstrøm.

I 1980'erne blev grentabeller brugt vidt til programmering af monteringssprog.De bruges stadig til monteringsprogrammering til indlejrede systemer og udvikling af operativsystemer.Siden 1990'erne har kompilatorprogrammeringssprog også brugt filialtabelfunktion.

Branchtabeller består af en liste over ubetingede instruktioner, der i betragtning af input grener til andre destinationer.De fleste computerhardware kan udføre disse instruktioner effektivt.Til tider offset mdash;I det væsentlige afstanden til destinationen mdash;Kan føjes til et programtællerregister, der derefter kan pege på sæt greninstruktioner eller hoppe mellem sæt greninstruktioner.Alt, hvad der er nødvendigt for at implementere en grentabel, er validering af inputkoden, omdannelse af dataene til en forskydning og multiplicering af dataene til en given instruktionslængde.

Indlejret programmering bruger grentabeller, da de er mere hukommelseseffektive end at bruge maskinkodeeller opstillede pointers.Indlejrede kontrolsystemer har brug for denne hukommelsesbesparelse, og selvom det kan koste en lille mængde ydeevne under adgang til filialtabellen, ville ethvert virtuelt metodefunktionsopkald koste den samme mængde ydeevne for stabil funktion.Den begrænsede CPU -adgang og hukommelsesbesparelser i indlejrede systemer har brug for en grentabel til statiske funktionssæt.

Compiler -programmeringssprog genererer deres egne grentabeller, når det er nødvendigt ved hjælp af søgningstaster på optimering af kompilatorer.Nogle programmerere vælger at manuelt hjælpe kompilatoren med kontekstfilmtabelgenerering ved at give kompilatoren to-trins betingede parametre, hvorfra man kan søge taster.I de tidligere år med kompileringsprogrammer plejede implementeringen af filialtabellen at være GOTO -kommandoerne i Fortran Compiler -sprog.Branchtabeller bruges stadig til at implementere ændringer i programstrøm i kompilatorsprog eller til at være et udgangspunkt for gentagne instruktionssekvenser.