기본 개발 키트 란 무엇입니까?
컴퓨터 프로그래밍 및 소프트웨어 개발에서, NDK (Native Development Kit)는 일반적으로 개발자가 핵심 운영 체제를 통해 기능을 사용하거나 코드를 직접 실행할 수있는 기능을 제공하는 추상 프로그래밍 인터페이스 (API)입니다. 프로그램을 실행하는이 방법은 관리 코드 또는 해석 된 프로그램을 실행하는 것과는 분명히 다릅니다. 여기서 작성된 코드는 핵심 운영 체제 기능과 사용자 작성 코드 사이의 소프트웨어 계층으로 작동하는 가상 머신 또는 인터프리터에서 실행됩니다. . 기본 개발 키트를 사용하는 것은 운영 체제가 사용하는 하드웨어 및 라이브러리에 직접 액세스 할 수 있기 때문에 가장 빠른 실행 및 처리 시간이 필요한 응용 프로그램에서 필수적 일 수 있습니다. 작성중인 프로그램 유형 및 대상 운영 체제에 따라 기본 개발 키트를 사용하면 프로그램 속도가 전혀 향상되지 않을 수 있으며 유지 관리, 읽기 및 다른 시스템으로 이식하기 어려운 코드를 만들 수 있습니다.
스마트 폰과 같은 일부 장치 용으로 작성되었거나 해석 된 컴퓨터 언어를 사용하는 응용 프로그램은 핵심 운영 체제 프로세스 또는 커널에 의해 직접 실행되지 않습니다. 대신 프로그램 코드는 가상 머신 (VM) 또는 인터프리터라고하는 별도의 프로그램에 의해 실행됩니다. 가상 머신은 코드를 읽고 명령을 확장 및 해결하며 커널과 인터페이스하여 코드를 실행합니다. 이는 이식성에 대한 우수한 추상화 계층을 제공하고 자원 관리 및 파일 처리와 같은 많은 복잡한 세부 사항을 가상 머신 작성자에게 남겨 주므로 일부 개발자에게 유리할 수 있습니다.
그러나 어떤 경우에는 가상 머신이 일부 유형의 프로그램에 방해가 될 수 있습니다. VM이 실행 속도를 늦추거나 호스트 커널 내의 일부 기능에 대한 액세스를 제공하지 못할 수 있습니다. 대상 운영 체제 또는 장치 용 기본 개발 키트는 커널 기능을 작성중인 응용 프로그램에 노출시킵니다. 키트의 범위에 따라 프로그램이 하드웨어에 직접 액세스하거나 자체 사용자 정의 라이브러리를 커널에로드하거나 시스템 별 최적화를 사용할 수 있습니다.
기본 개발 키트는 대부분 프로그램의 시간이 중요한 부분에만 사용됩니다. 그래픽 처리 계산, 디스플레이 또는 파일 입력 및 출력으로 출력 될 수 있습니다. 기본 기능 또는 루틴을 사용하는 모든 프로그램이 가상 시스템이 이미 관리 코드에 대해 최적화를 수행하여 기본 기능 사용 여부에 관계없이 결과 시스템 코드가 동일하기 때문에 속도 이점을 얻지는 않습니다. 또한 네이티브 코드는 프로그램을 운영 체제의 특정 구현 및 때로는 특정 버전의 장치에 연결합니다. 즉, 네이티브 개발 키트를 사용하는 코드는 다른 시스템으로 쉽게 이식되지 않을 수 있습니다.