Codul nativ este o formă de cod de programare pentru computer care este configurat să funcționeze cu utilizarea unui procesor specificat. Structura exactă a codului este configurată pentru a răspunde instrucțiunilor care sunt emise de procesor. Toate tipurile de software funcționează cu cod nativ și sunt scrise pentru a funcționa la o eficiență optimă cu un tip selectat de procesor sau cu procesoare care sunt fabricate pentru a oglindi configurația procesorului specificat.
Deoarece codul nativ este scris pentru a permite funcționalitatea completă atunci când rulează pe un sistem care utilizează anumite componente de procesare, alegerea de a rula software pe un sistem fără procesorul necesar va avea ca rezultat accesul limitat la funcțiile pachetului. În unele cazuri, este posibil ca software-ul să nu funcționeze deloc.
O modalitate de a rula software folosind un cod nativ incompatibil este să utilizați un pachet software intermediar numit emulator care convertește în esență semnalele de la procesor în date pe care codul le poate citi. Chiar și cu cele mai avansate pachete software de cod de emulare, totuși, răspunsul și gradul de eficiență obținut tind să fie mai mici decât rularea programului pe un sistem echipat cu procesorul corect. Adesea, cea mai bună opțiune este să rescrieți codul pentru a se adapta la procesorul care este utilizat în prezent.
Este important de reținut că codul nativ este diferit de ceea ce este cunoscut sub numele de bytecode. Bytecode este compilat pentru a rula într-un mod de mașină virtuală care este capabil să convertească componentele generale ale bytecode într-un cod nativ mai concentrat, care va funcționa cu procesorul în uz. Deși bytecode poate fi convertit, nu este posibil să efectuați acțiunea inversă și să utilizați această abordare pentru a îmbunătăți nivelul de compatibilitate cu un procesor străin.
Codul nativ se găsește în toate tipurile de medii de programare. De-a lungul timpului, incidența ca acesta să nu funcționeze bine cu diferite procesoare a început să scadă. Acest lucru se datorează, în general, faptului că diferite procesoare sunt din ce în ce mai configurate să funcționeze cu aceleași tipuri de protocoale și secvențe logice.