首頁 >後端開發 >C++ >如何從 Python 呼叫本機 .NET 函式庫?

如何從 Python 呼叫本機 .NET 函式庫?

Barbara Streisand
Barbara Streisand原創
2025-01-05 15:35:40901瀏覽

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

從 Python 呼叫本機 .NET 函式庫

您的目標是從 Python 程式碼執行 .NET 函式庫。為了實現這一目標,我們將避免使用 IronPython,而是探索從 Python 呼叫 C# 程式碼的可能性。

首先,您需要將「UnmanagedExports」NuGet 套件安裝到您的 .NET 專案中。此套件可讓您匯出沒有 COM 互通性的 .NET 方法。

這是C# 程式碼的修改範例:

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

編譯後,您可以將.dll 載入到Python 程式碼中並存取匯出的方法:

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

這將呼叫C# 庫中的TestExport 方法,傳回傳遞給它的兩個數字。

以上是如何從 Python 呼叫本機 .NET 函式庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn