Repolode
asmjit

asmjit/asmjit

프로그램이 실행 중에 x86/x64 및 AArch64 명령어를 생성할 수 있도록 지원하는 저지연 머신 코드 생성용 C++ 라이브러리입니다.

스타
4,633
포크
606
열린 이슈
22
마지막 커밋
그저께

어떤 프로젝트인가요?

AsmJit는 실행 중에 머신 코드를 생성하는 C++ 라이브러리로, JIT(Just-in-Time) 컴파일러의 핵심 구성 요소입니다. 프로그램은 외부 어셈블러를 별도 실행하지 않고 API를 사용해 실행 가능한 메모리에 명령어를 어셈블할 수 있어, 지연 시간에 민감한 용도에서도 충분히 빠르게 코드를 생성할 수 있습니다.

라이브러리는 아키텍처에 독립적인 핵심 API와 x86/x64 및 AArch64용 아키텍처별 계층으로 구성되며, AArch32와 AArch64가 공유하는 별도의 ARM 계층도 제공합니다. 명령어 데이터베이스와 가상 레지스터를 사용하는 Compiler 인터페이스가 포함되어 있으며, 명령어를 직접 내보내는 저수준 Assembler도 제공합니다.

AsmJit는 Zlib 라이선스로 제공되며, 문서 사이트와 공개 채팅 채널, 커뮤니티 및 상용 지원 옵션을 제공합니다.

핵심 기능

  • 01실행 중에 x86/x64 및 AArch64 머신 코드를 생성합니다.
  • 02저수준 Assembler와 가상 레지스터를 사용하는 Compiler를 제공합니다.
  • 03명령어 정보를 조회할 수 있는 명령어 데이터베이스를 포함합니다.
  • 04범용 JIT API와 아키텍처별 계층을 함께 제공합니다.
  • 05단위 테스트, 통합 테스트, 벤치마크를 제공합니다.

활용 사례

  • C++ 애플리케이션에서 JIT 컴파일러나 동적 코드 생성기를 구현합니다.
  • 성능에 민감한 코드에 사용할 특수 네이티브 루틴을 실행 중에 생성합니다.
  • C++ 도구에서 x86-64 또는 AArch64 대상 머신 코드를 생성합니다.

빠른 시작

  1. 1

    공식 문서에서 빌드 지침을 확인하세요

  2. 2

    프로젝트 루트에 있는 configure 스크립트를 사용해 라이브러리를 빌드하세요. 이 스크립트는 cmake를 실행합니다

사용 전 알아둘 점

  • README에는 호환성을 깨뜨리는 API 변경이 불가피한 경우가 있다고 안내되어 있습니다.
  • 상업적 사용자는 프로젝트의 후원 페이지를 통해 개발을 지원해 달라는 요청을 받고 있습니다.

포함된 컬렉션

토픽

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

자주 묻는 질문

asmjit은(는) 무엇인가요?
프로그램이 실행 중에 x86/x64 및 AArch64 명령어를 생성할 수 있도록 지원하는 저지연 머신 코드 생성용 C++ 라이브러리입니다. AsmJit는 실행 중에 머신 코드를 생성하는 C++ 라이브러리로, JIT(Just-in-Time) 컴파일러의 핵심 구성 요소입니다. 프로그램은 외부 어셈블러를 별도 실행하지 않고 API를 사용해 실행 가능한 메모리에 명령어를 어셈블할 수 있어, 지연 시간에 민감한 용도에서도 충분히 빠르게 코드를 생성할 수 있습니다.
asmjit은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
asmjit은(는) Zlib 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
asmjit은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. asmjit의 마지막 커밋은 2026년 11월 4일입니다.
asmjit은(는) 어디에 사용할 수 있나요?
C++ 애플리케이션에서 JIT 컴파일러나 동적 코드 생성기를 구현합니다. 성능에 민감한 코드에 사용할 특수 네이티브 루틴을 실행 중에 생성합니다. C++ 도구에서 x86-64 또는 AArch64 대상 머신 코드를 생성합니다.
asmjit는 어떻게 설치하나요?
공식 문서에서 빌드 지침을 확인하세요 프로젝트 루트에 있는 configure 스크립트를 사용해 라이브러리를 빌드하세요. 이 스크립트는 cmake를 실행합니다
asmjit은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/asmjit/asmjit

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

LLVM을 사용해 수치 연산용 Python 함수를 빠른 머신 코드로 변환하는 NumPy 지원 오픈소스 JIT 컴파일러입니다.

1.1만+3 이번 주1.4천PythonBSD-2-Clause활발히 관리됨업데이트 24시간 전

실행 중인 프로그램에 변경된 함수만 JIT 컴파일해 적용함으로써 Rust의 증분 빌드 시간을 밀리초 단위로 줄이는 cargo 호환 프런트엔드입니다.

2천+273 이번 주72RustApache-2.0활발히 관리됨업데이트 6시간 전