El código nativo es una forma de código de programación de computadoras que está configurado para funcionar con el uso de un procesador específico. La estructura exacta del código está configurada para responder a las instrucciones emitidas por el procesador. Todos los tipos de software funcionan con código nativo y están escritos para funcionar con una eficiencia óptima con un tipo de procesador seleccionado o con procesadores que se fabrican para reflejar la configuración del procesador especificado.
Debido a que el código nativo está escrito para permitir la funcionalidad completa cuando se ejecuta en un sistema que usa componentes de procesamiento particulares, elegir ejecutar software en un sistema sin el procesador requerido resultará en acceso limitado a las funciones del paquete. En algunos casos, es posible que el software no funcione en absoluto.
Una forma de ejecutar software usando un código nativo incompatible es hacer uso de un paquete de software intermedio llamado emulador que esencialmente convierte las señales del procesador en datos que el código puede leer. Sin embargo, incluso con los paquetes de software de código de emulación más avanzados, la respuesta y el grado de eficiencia que se logra tienden a ser menores que ejecutar el programa en un sistema equipado con el procesador correcto. A menudo, la mejor opción es reescribir el código para adaptarlo al procesador que está actualmente en uso.
Es importante tener en cuenta que el código nativo es diferente de lo que se conoce como código de bytes. El código de bytes se compila para ejecutarse en un modo de máquina virtual que puede convertir los componentes generales del código de bytes en un código nativo más enfocado que funcionará con el procesador en uso. Si bien el código de bytes se puede convertir, no es posible realizar la acción a la inversa y utilizar este enfoque para mejorar el nivel de compatibilidad con un procesador externo.
El código nativo se encuentra en todo tipo de entornos de programación. Con el tiempo, la incidencia de que no funcione bien con varios procesadores ha comenzado a disminuir. Esto generalmente se debe al hecho de que los diferentes procesadores se configuran cada vez más para funcionar con los mismos tipos de protocolos y secuencias lógicas.