>  기사  >  백엔드 개발  >  C#은 C++ 동적 링크 라이브러리 dll을 호출합니다.

C#은 C++ 동적 링크 라이브러리 dll을 호출합니다.

黄舟
黄舟원래의
2017-02-27 11:28:102234검색

이 과정에서 문제를 해결하는 두 가지 방법을 찾았습니다. 하나는 관리되지 않는 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)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.