다음 문서에서는 .NET에서 "네이티브 상호 운용성"을 수행하는 다양한 방법을 보여줍니다.
네이티브 코드를 호출하려는 몇 가지 이유가 있습니다.
- 운영 체제에는 관리되는 클래스 라이브러리에 없는 많은 양의 API가 함께 제공됩니다. 이 시나리오의 대표적인 예는 하드웨어 또는 운영 체제 관리 기능에 대한 액세스입니다.
- C 스타일의 ABI(네이티브 ABI)를 생성하거나 생성할 수 있는 Java 네이티브 인터페이스(JNI)를 통해 노출된 Java 코드 및 네이티브 구성 요소를 생성할 수 있는 기타 관리 언어와 같은 다른 구성 요소와 통신합니다.
- Windows에서 Microsoft Office 제품군과 같이 설치되는 대부분의 소프트웨어는 해당 프로그램을 나타내는 COM 구성 요소를 등록하고 개발자가 프로그램을 자동화하거나 사용할 수 있도록 합니다. 이를 위해서는 네이티브 상호 운용성도 필요합니다.
이전 목록에는 개발자가 네이티브 구성 요소와 상호 작용하기를 원하거나 필요로 하는 잠재적인 상황 및 시나리오가 모두 포함되지 않습니다. 예를 들어 .NET 클래스 라이브러리는 네이티브 상호 운용성 지원을 사용하여 콘솔 지원 및 조작, 파일 시스템 액세스 등과 같은 상당히 많은 API를 구현합니다. 그러나 필요한 경우 옵션이 있다는 점에 유의해야 합니다.
비고
이 섹션의 대부분의 예제는 .NET Core(Windows, Linux 및 macOS)에 대해 지원되는 세 가지 플랫폼 모두에 대해 제공됩니다. 그러나 일부 짧고 설명적인 예제의 경우 Windows 파일 이름 및 확장명(즉, 라이브러리의 경우 "dll")을 사용하는 샘플이 하나만 표시됩니다. 이는 Linux 또는 macOS에서 이러한 기능을 사용할 수 없다는 것을 의미하지는 않으며 편의를 위해 수행되었습니다.
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET