我正在尝试使用 Robert Giesecke 的“ UnmanagedExports ”nuget 包创建一个 C# 非托管 DLL,但它似乎没有创建任何入口点。
完整代码在这里:
using System.IO;
using System.Runtime.InteropServices;
using RGiesecke.DllExport;
namespace ImpactHive
{
internal static class Main
{
[DllExport("_RVExtension@12", CallingConvention = CallingConvention.StdCall)]
static void RVExtension(out char output, int outputSize, char function)
{
using (StreamWriter writer = new StreamWriter(@"C:\dll_log.txt"))
{
writer.WriteLine("It works!");
writer.WriteLine(function);
}
output = function;
}
}
}
我究竟做错了什么?
澄清:
这是Arma 3 的扩展 DLL,它需要一个名为 " " 的入口点并_RVExtension@12
带有签名:
void __stdcall RVExtension(char *output, int outputSize, const char *function);
编辑:我在项目设置中将目标平台指定为 x86,但没有运气。