AdvancedDLSupport
v3.1.0 - Span parameters and calli
일반적인 P/Invoke에 대한 대체 접근 방식입니다!
C# 인터페이스를 사용하여 네이티브 코드에 바인딩합니다. 모든 플랫폼에서 C# 코드로 C API를 빠르고 쉽게 사용할 수 있습니다. DllImport
손상되고 다양한 런타임에 대한 성가신 해결 방법이 있던 시절은 지나갔습니다.
Mono, .NET Framework, .NET Core 및 .NET Standard와 완벽하게 호환됩니다. 모든 플랫폼 및 런타임에서 Mono DLL 매핑과 호환됩니다. 구성 가능하고 적응 가능합니다.
extern
도 없습니다. 네이티브 API를 마치 일류 객체인 것처럼 사용하세요.문서를 읽거나 NuGet을 통해 설치하고 시작하세요.
Nullable<T>
및 string
과 같은 더 복잡한 유형을 사용하세요.인터페이스 선언
public interface IMyNativeLibrary
{
long MyNativeGlobal { get ; set ; }
int MyNativeMultiply ( int a , int b ) ;
void MyOtherNativeFunction ( MyStruct strct , ref MyStruct ? maybeStruct ) ;
}
활성화
const string MyLibraryName = "MyLibrary" ;
var activator = new NativeLibraryBuilder ( ) ;
var library = activator . ActivateInterface < IMyNativeLibrary > ( MyLibraryName ) ;
그것을 사용
library . MyNativeGlobal = 10 ;
var result = library . MyNativeMultiply ( 5 , 5 ) ;
var myStruct = new MyStruct ( ) ;
MyStruct ? myOtherStruct = null ;
library . MyOtherNativeFunction ( myStruct , ref myOtherStruct ) ;
자세한 내용은 빠른 시작을 참조하세요.
NuGet에서 받아보세요!
라이브러리의 라이센스가 귀하의 프로젝트나 제품에 맞지 않는 경우 당사에 문의하십시오. 맞춤형 라이센스 옵션을 사용할 수 있으며, 수정, 상업용 등 귀하에게 꼭 맞는 것을 개발하기 위해 항상 열려 있습니다.
AdvancedDLSupport의 공개 릴리스는 GNU Lesser General Public License, 버전 3(LGPLv3)에 따라 라이센스가 부여됩니다. 자세한 내용은 라이선스를 참조하세요. 오픈소스 운동의 지원이 없었다면 결코 존재하지 않았을 것입니다.