다음을 통해 공유


내재적 상호 운용성

다음 문서에서는 .NET에서 "네이티브 상호 운용성"을 수행하는 다양한 방법을 보여줍니다.

네이티브 코드를 호출하려는 몇 가지 이유가 있습니다.

  • 운영 체제에는 관리되는 클래스 라이브러리에 없는 많은 양의 API가 함께 제공됩니다. 이 시나리오의 대표적인 예는 하드웨어 또는 운영 체제 관리 기능에 대한 액세스입니다.
  • C 스타일의 ABI(네이티브 ABI)를 생성하거나 생성할 수 있는 Java 네이티브 인터페이스(JNI)를 통해 노출된 Java 코드 및 네이티브 구성 요소를 생성할 수 있는 기타 관리 언어와 같은 다른 구성 요소와 통신합니다.
  • Windows에서 Microsoft Office 제품군과 같이 설치되는 대부분의 소프트웨어는 해당 프로그램을 나타내는 COM 구성 요소를 등록하고 개발자가 프로그램을 자동화하거나 사용할 수 있도록 합니다. 이를 위해서는 네이티브 상호 운용성도 필요합니다.

이전 목록에는 개발자가 네이티브 구성 요소와 상호 작용하기를 원하거나 필요로 하는 잠재적인 상황 및 시나리오가 모두 포함되지 않습니다. 예를 들어 .NET 클래스 라이브러리는 네이티브 상호 운용성 지원을 사용하여 콘솔 지원 및 조작, 파일 시스템 액세스 등과 같은 상당히 많은 API를 구현합니다. 그러나 필요한 경우 옵션이 있다는 점에 유의해야 합니다.

비고

이 섹션의 대부분의 예제는 .NET Core(Windows, Linux 및 macOS)에 대해 지원되는 세 가지 플랫폼 모두에 대해 제공됩니다. 그러나 일부 짧고 설명적인 예제의 경우 Windows 파일 이름 및 확장명(즉, 라이브러리의 경우 "dll")을 사용하는 샘플이 하나만 표시됩니다. 이는 Linux 또는 macOS에서 이러한 기능을 사용할 수 없다는 것을 의미하지는 않으며 편의를 위해 수행되었습니다.

참고하십시오