Hva er innfødt kode?
Native code er en form for dataprogrammeringskode som er konfigurert til å fungere med bruk av en spesifisert prosessor. Den nøyaktige strukturen til koden er satt opp for å svare på instruksjonene som blir gitt av prosessoren. Alle typer programvarefunksjoner med innfødt kode og er skrevet for å fungere med optimal effektivitet med en valgt type prosessor eller med prosessorer som er produsert for å speile konfigurasjonen til den spesifiserte prosessoren.
Fordi native code er skrevet for å tillate full funksjonalitet når det kjøres på et system ved bruk av bestemte prosesseringskomponenter, vil valg av å kjøre programvare på et system uten den nødvendige prosessoren føre til begrenset tilgang til funksjonene i pakken. I noen tilfeller kan det hende at programvaren ikke fungerer i det hele tatt.
En måte å kjøre programvare ved å bruke en inkompatibel native code er å benytte seg av en mellomliggende programvarepakke kalt en emulator som i hovedsak konverterer signalene fra prosessoren til data som koden kan lese. Selv med de mest avanserte programvarepakkene for emuleringskode, har responsen og effektiviteten som oppnås imidlertid en tendens til å være mindre enn å kjøre programmet på et system utstyrt med riktig prosessor. Ofte er det beste alternativet å omskrive koden for å tilpasse seg prosessoren som for tiden er i bruk.
Det er viktig å merke seg at innfødt kode er forskjellig fra det som kalles bytecode. Bytecode er satt sammen for å kjøre i en virtuell maskinmodus som er i stand til å konvertere de generelle komponentene i bytekoden til en mer fokusert native kode som vil fungere med prosessoren i bruk. Mens bytekode kan konverteres, er det ikke mulig å utføre handlingen i revers og bruke denne tilnærmingen for å forbedre kompatibilitetsnivået med en utenlandsk prosessor.
Innfødt kode finnes i alle typer programmeringsmiljøer. Over tid har forekomsten av at det ikke fungerer bra med forskjellige prosessorer begynt å synke. Dette skyldes generelt at forskjellige prosessorer i økende grad er konfigurert til å fungere med de samme typene protokoller og logiske sekvenser.