이 과정에서 문제를 해결하는 두 가지 방법을 찾았습니다. 하나는 관리되지 않는 C++로 생성된 dll 라이브러리로, 정적 메서드로 호출해야 합니다. 이 메서드는 C# 참조에서 직접 참조할 수 없지만 정적으로 호출해야 합니다. 다른 블로그에서 이미 자세히 소개한 바 있습니다. 추가해야 할 유일한 것은 C# 파일이 다음과 같다는 것입니다.
using System.Runtime.InteropServices;
그래야만 [DllImport] 메서드를 호출할 수 있습니다.
또 다른 방법은 CLR을 직접 사용하여 관리되는 C++ dll 라이브러리를 생성하는 것입니다.
생성 과정
루틴은 다음과 같습니다
C++ dll:
// CPPlibdemo.h #pragma once using namespace System; namespace CPPlibdemo { public ref class Class1 { // TODO: Add your methods for this class here. public: String ^getgreating(){ return "hello world"; } }; }
C# 언어:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using CPPlibdemo; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { Class1 clrdemo = new Class1(); Console.Write(clrdemo.getgreating()); Console.ReadLine(); } } }
🎜>
위 내용은 C++ 동적링크 라이브러리 dll을 호출하는 C# 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!