Heim >Backend-Entwicklung >C++ >Wie kann ich eine native .NET-Bibliothek aus Python aufrufen?

Wie kann ich eine native .NET-Bibliothek aus Python aufrufen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-05 15:35:40936Durchsuche

How Can I Call a Native .NET Library from Python?

Aufrufen einer nativen .NET-Bibliothek aus Python

Ihr Ziel ist es, eine .NET-Bibliothek aus Ihrem Python-Code heraus auszuführen. Um dies zu erreichen, vermeiden wir die Verwendung von IronPython und prüfen stattdessen die Möglichkeit, C#-Code aus Python aufzurufen.

Zuerst müssen Sie das NuGet-Paket „UnmanagedExports“ in Ihrem .NET-Projekt installieren. Mit diesem Paket können Sie .NET-Methoden ohne COM-Interoperabilität exportieren.

Hier ist ein modifiziertes Beispiel Ihres C#-Codes:

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using RGiesecke.DllExport;

class Test
{
    [DllExport("add", CallingConvention = CallingConvention.Cdecl)]
    public static int TestExport(int left, int right)
    {
        return left + right;
    }
}

Nach der Kompilierung können Sie die DLL in Ihren Python-Code laden und greifen Sie auf die exportierten Methoden zu:

import ctypes
a = ctypes.cdll.LoadLibrary(source)
a.add(3, 5)

Dadurch wird die TestExport-Methode in Ihrer C#-Bibliothek aufgerufen und die Summe der beiden zurückgegeben Nummern werden ihm übergeben.

Das obige ist der detaillierte Inhalt vonWie kann ich eine native .NET-Bibliothek aus Python aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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