C#에서 C 코드 호출: C/CLI 솔루션
질문:
C 코드를 C#과 같은 .NET 언어에 통합할 수 있나요? 구체적으로 C#에서 C 라이브러리(예: RakNet)를 사용할 수 있나요?
정답:
그렇습니다. C/CLI(공용 언어 인프라) 래퍼 어셈블리를 사용하여 C#에서 C 코드를 호출할 수 있습니다. C/CLI를 사용하면 비관리 코드와 관리 코드 간의 원활한 통합이 가능합니다.
C/CLI 래퍼 어셈블리 생성 단계:
예:
다음은 NativeType 클래스에 대한 단순화된 C/CLI 래퍼 어셈블리 예입니다.
<code class="language-c++">#include "NativeType.h" public ref class ManagedType { NativeType* NativePtr; public: ManagedType() : NativePtr(new NativeType()) {} ~ManagedType() { delete NativePtr; } void ManagedMethod() { NativePtr->NativeMethod(); } };</code>
C#에서 래퍼 통합:
C# 코드에서 래퍼 클래스가 포함된 관리되는 어셈블리에 대한 참조를 추가합니다. 그런 다음 관리되는 클래스의 인스턴스를 만들고 C 코드를 호출할 수 있습니다.
<code class="language-csharp">ManagedType mt = new ManagedType(); mt.ManagedMethod();</code>
참고: 더 자세한 예시와 지침을 보려면 제공된 블로그 게시물에서 추가 지침을 참조하세요.
위 내용은 C#에서 RakNet처럼 C 라이브러리를 호출할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!