gpt4 book ai didi

c# - 在 dll 中导出并从 C# 加载的 C++ 函数

转载 作者:行者123 更新时间:2023-11-30 02:10:13 24 4
gpt4 key购买 nike

我在 C++ 中有:

void __declspec(dllexport) foo(HWND wnd)

在 C# 中

[DllImport("MyDll.dll", CharSet = CharSet.Ansi)]
public static extern void foo(IntPtr wnd);

当我尝试调用它时出现此错误 - 附加信息:无法在 DLL 中找到名为“foo”的入口点。我试图检查 dll,并且我具有以下定义的函数:

未修饰的 C++ 函数:void cdecl foo(struct HWND *)

我在几个论坛上进行了搜索,似乎这是执行此操作的正确方法...您知道为什么我会出现此运行时错误吗?

最佳答案

您需要禁用 C++ 名称修改。像这样声明您的 native 函数:

extern "C" __declspec(dllexport) void foo(HWND wnd)

您也可以使用 dumpbin.exe 实用程序查看 DLL 导出。

关于c# - 在 dll 中导出并从 C# 加载的 C++ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4822613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com