Repolode
asmjit

asmjit/asmjit

Una biblioteca de C++ para generar código máquina con baja latencia, que permite a los programas emitir instrucciones x86/x64 y AArch64 en tiempo de ejecución.

Estrellas
4,633
Forks
606
Issues abiertos
22
Último commit
anteayer

¿Qué es?

AsmJit es una biblioteca de C++ para generar código máquina en tiempo de ejecución y constituye el componente básico de un compilador JIT (just-in-time). Los programas usan su API para ensamblar instrucciones en memoria ejecutable, sin recurrir a un ensamblador externo, lo que mantiene la generación de código lo bastante rápida para usos sensibles a la latencia.

La biblioteca se organiza en una API central independiente del backend y capas específicas para x86/x64 y AArch64, además de una capa ARM independiente compartida por AArch32 y AArch64. Incluye una base de datos de instrucciones y una interfaz Compiler que trabaja con registros virtuales, junto con un Assembler de nivel más bajo para emitir instrucciones directamente.

AsmJit se distribuye bajo la licencia Zlib y ofrece un sitio de documentación, un canal de chat público y opciones de soporte comunitario y comercial.

Funciones clave

  • 01Genera código máquina x86/x64 y AArch64 en tiempo de ejecución.
  • 02Proporciona un Assembler de bajo nivel y un Compiler que trabaja con registros virtuales.
  • 03Incluye una base de datos de instrucciones para consultar información sobre ellas.
  • 04Ofrece una API JIT universal junto con capas específicas para cada arquitectura.
  • 05Incluye pruebas unitarias, pruebas de integración y benchmarks.

Casos de uso

  • Crear un compilador JIT o un generador de código dinámico en una aplicación de C++.
  • Generar rutinas nativas especializadas en tiempo de ejecución para código sensible al rendimiento.
  • Emitir código máquina para destinos x86-64 o AArch64 desde una herramienta de C++.

Inicio rápido

  1. 1

    Consulta las instrucciones de compilación en la documentación oficial

  2. 2

    Compila la biblioteca con los scripts configure de la raíz del proyecto, que ejecutan cmake

Antes de usarlo

  • El README advierte que a veces los cambios incompatibles en la API son inevitables.
  • Se pide a los usuarios comerciales que apoyen el desarrollo a través de la página de financiación del proyecto.

En colecciones

Temas

#jit#machine-code#assembler#x86-64#aarch64#code-generation#compiler#asmjit#cpp#jit-compilation

Preguntas frecuentes

¿Qué es asmjit?
Una biblioteca de C++ para generar código máquina con baja latencia, que permite a los programas emitir instrucciones x86/x64 y AArch64 en tiempo de ejecución. AsmJit es una biblioteca de C++ para generar código máquina en tiempo de ejecución y constituye el componente básico de un compilador JIT (just-in-time). Los programas usan su API para ensamblar instrucciones en memoria ejecutable, sin recurrir a un ensamblador externo, lo que mantiene la generación de código lo bastante rápida para usos sensibles a la latencia.
¿asmjit es gratuito? ¿Qué licencia tiene?
asmjit es open source bajo la licencia Zlib. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿asmjit sigue mantenido?
Mantenimiento activo. El último commit de asmjit fue el 4 nov 2026.
¿Para qué puedo usar asmjit?
Crear un compilador JIT o un generador de código dinámico en una aplicación de C++. Generar rutinas nativas especializadas en tiempo de ejecución para código sensible al rendimiento. Emitir código máquina para destinos x86-64 o AArch64 desde una herramienta de C++.
¿Cómo se instala asmjit?
Consulta las instrucciones de compilación en la documentación oficial Compila la biblioteca con los scripts configure de la raíz del proyecto, que ejecutan cmake
¿Dónde consigo asmjit?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/asmjit/asmjit

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados