Skip to main content

Hva er en selvmodifiserende kode?

Selvmodifiserende kode er en programmeringsfilosofi der utvikleren lager et program som er i stand til å endre sin egen koding når den utføres.Mens utvikleren kan legge inn parametere for den selvmodifiserende koden, endrer den vanligvis og optimaliserer seg selv uten samhandling.Det er noen datamaskinfenomener som fører til at koding endres utilsiktet, men bare forsettlig selvmodifiserende kode virkelig anses som selvmodifiserende.Dette brukes ofte av utviklere for å forbedre kodingen, fordi det å kjøre kodingen mange ganger kan forbedre den opprinnelige designen.

Det mest definerende aspektet ved selvmodifiserende kode er dens evne til å endre seg selv til det bedre.Dette kan bare gjøres når kodingen gjør seg klar til å utføre og når den forbereder seg på å løpe.Den utførende koden må ta lager av datamaskinens nåværende programvare, tilstand og andre faktorer, så dette hjelper normalt koden med å gjenkjenne behandlingsfeil til å bestemme sin egen behandling.

Utviklere noen ganger setter parametere for selvmodifiserende kode, for eksempel å korrigerei seg selv mest for ytelse, men koden vil normalt rette seg uten samhandling eller spørsmål.Bortsett fra økt behandling, vil koden også slette unødvendige koder som bare drar ned programmet, og den vil redusere banelengder.Samtidig kan utviklere spesifisere områder som ikke kan endres, fordi å endre noen deler av koden kan føre til at hele programmet lider eller slutterEventuelle instruksjoner for at det skal gjøre det.Dette skjer normalt med programvarerot eller bufferproblemer, og mens kodingen endres, regnes det ikke som selvmodifiserende kode.Det er to grunner til dette, det ene er at endringen ikke med vilje blir gjort av utvikleren.Den andre grunnen er at selvmodifiserende programmering er ment å forbedre kodingen, mens buffer og råtte problemer nedbryter kodingen.

Det er mange fordeler med å ha selvmodifiserende kode, fordi den hele tiden vil fungere for å forbedre seg selv basert på datamaskinens nåværende tilstandog andre interne faktorer.Dette brukes strengt av utvikleren før koden selges eller distribueres.Ved å la koden kjøres konstant, gjør det at programmeringen kan fikse seg selv og eventuelle feil eller problemer som er forårsaket av utvikleren under kodingens opprettelse.En annen bruk for dette er i datamaskiner med begrenset minne, fordi denne koden vil svare på minnemangel ved å redusere sin egen størrelse.