Hvad er indfødt kode?
Indfødt kode er en form for computerprogrammeringskode, der er konfigureret til at fungere med brug af en specificeret processor. Den nøjagtige struktur af koden er indstillet til at svare på instruktionerne, der er udstedt af processoren. Alle typer softwarefunktioner med indbygget kode og er skrevet til at fungere med optimal effektivitet med en valgt type processor eller med processorer, der er fremstillet til at spejle konfigurationen af den specificerede processor.
Da native code er skrevet for at give mulighed for fuld funktionalitet, når det køres på et system ved hjælp af bestemte behandlingskomponenter, vil valg af at køre software på et system uden den krævede processor resultere i begrænset adgang til pakkens funktioner. I nogle tilfælde fungerer softwaren muligvis ikke overhovedet.
En måde at køre software ved hjælp af en inkompatibel native kode er at gøre brug af en mellemliggende softwarepakke kaldet en emulator, der i det væsentlige konverterer signalerne fra processoren til data, som koden kan læse. Selv med de mest avancerede emuleringskodesoftwarepakker har responsen og effektiviteten, der opnås, imidlertid en tendens til at være mindre end at køre programmet på et system udstyret med den rigtige processor. Ofte er den bedste mulighed at omskrive koden for at tilpasse sig den processor, der i øjeblikket er i brug.
Det er vigtigt at bemærke, at native code er forskellig fra, hvad der kaldes bytecode. Bytecode er kompileret til at køre i en virtuel maskintilstand, der er i stand til at konvertere de generelle komponenter i bytecoden til en mere fokuseret indbygget kode, der fungerer sammen med den processor, der er i brug. Selvom bytecode kan konverteres, er det ikke muligt at udføre handlingen i omvendt rækkefølge og bruge denne fremgangsmåde til at øge niveauet af kompatibilitet med en fremmed processor.
Indfødt kode findes i alle typer programmeringsmiljøer. Over tid er forekomsten af at det ikke fungerer godt med forskellige processorer begyndt at falde. Dette skyldes generelt, at forskellige processorer i stigende grad konfigureres til at fungere med de samme typer protokoller og logiske sekvenser.