擅长:python、mysql、java
<p>其实很简单。只需使用NuGet将“UnmanagedExports”包添加到您的.Net项目中。有关详细信息,请参见<a href="https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports" rel="noreferrer">https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports</a>。</p>
<p>然后可以直接导出,而无需执行COM层。这是C#代码示例:</p>
<pre><code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using RGiesecke.DllExport;
class Test
{
[DllExport("add", CallingConvention = CallingConvention.Cdecl)]
public static int TestExport(int left, int right)
{
return left + right;
}
}
</code></pre>
<p>然后可以加载dll并在Python中调用公开的方法(适用于2.7)</p>
<pre><code>import ctypes
a = ctypes.cdll.LoadLibrary(source)
a.add(3, 5)
</code></pre>