Heim >Backend-Entwicklung >C#.Net-Tutorial >C# ruft die C++-Dynamic-Link-Library-DLL auf

C# ruft die C++-Dynamic-Link-Library-DLL auf

黄舟
黄舟Original
2017-02-27 11:28:102296Durchsuche

Ich habe während des Prozesses zwei Möglichkeiten gefunden, das Problem zu lösen: Eine davon ist eine von nicht verwaltetem C++ erstellte DLL-Bibliothek, die mit einer statischen Methode aufgerufen werden muss. Diese Methode kann nicht direkt in der C#-Referenz referenziert werden, sondern muss statisch aufgerufen werden. Andere Blogs haben sie bereits ausführlich vorgestellt. Das einzige, was hinzugefügt werden muss, ist, dass die C#-Datei wie folgt lauten muss:

Die Methode [DllImport] kann erst danach aufgerufen werden.
using System.Runtime.InteropServices;

Eine andere Methode besteht darin, die CLR direkt zu verwenden, um eine verwaltete C++-DLL-Bibliothek zu generieren.

Erstellungsprozess

Die Routine ist wie folgt
C++-DLL:


C#-Sprache:
// 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";
		}
	};
}



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();
        }
    }
}

Das Obige ist der Inhalt der C#-Aufruf-DLL für dynamische Linkbibliotheken. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


C# ruft die C++-Dynamic-Link-Library-DLL auf
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn