Sharpgentools
C#에 대한 정확하고 고성능 C ++ Interop 코드 생성기.
특징
- C ++ 헤더의 C ++ 및 COM 인터페이스에 대한 정확하고 빠른 코드-그네.
- .NET 런타임 COM 지원에 대한 종속성이 없습니다
- MSBUILD 프로젝트 및 패키지 참조를 통해 코드-그린 정보 전달을 지원합니다.
- 플러그 가능한 런타임 라이브러리 이름 및 런타임 지원 유형 이름 (기본 라이브러리는 Sharpgen.runtime입니다)
- 자체 SharpGentools 런타임 지원 클래스를 구현하는 프로젝트는 매핑 규칙을 추가하여 생성 된 코드가 런타임 지원 라이브러리를 사용하도록 할 수 있습니다.
이 repo의 구성 요소
- Sharpgen
- CastXML을 실행하여 C ++를 구문 분석 한 다음 C# interop 코드를 생성하는 코드-그린 엔진.
- Sharpgen SDK 플러그인 용 API, 예 : 문서 제공 업체.
- Sharpgentools.sdk
- Sharpgen을 프로젝트에 직접 통합하기위한 MSBuild 툴링.
- 빌드 타임 코드 생성 플러그인 플랫폼.
- Sharpgen.runtime
- Sharpgen이 생성 한 코드에 대한 런타임 지원 클래스.
- sharpgen.runtime.com
- COM 및 Windows 런타임의 핵심 인터페이스에 대한 매핑 클래스.
요구 사항
사용합니다
- SDK 스타일 (CPS) MSBuild 프로젝트
- .NET 환경, 다음 중 하나 이상.
- .NET SDK (7 또는 최신)
- .NET Core SDK (3.1 이상)
- Desktop .net Workload, .NET Framework 4.7.2 SDK 또는 NEWER가 포함 된 Visual Studio 2019
-
.csproj 에서 모든 매핑 파일을 SharpGenMapping 항목으로 만듭니다.
구축하려면
- .NET SDK : 7.0 또는 새로.
- Cmake : 3.0 또는 새로.
- SDK 테스트에는 X64 Windows, X86 및 X64 C ++ 컴파일러 인 VS2022, 최근 PowerShell 버전이 필요합니다.