gpt4 book ai didi

c# - 尝试从 C# 调用 C++ dll 时出现格式不正确的异常

转载 作者:搜寻专家 更新时间:2023-10-30 23:54:03 25 4
gpt4 key购买 nike

我正在使用 C# WPF。
我有一个 C++ 测试 dll,如下所示:
.h:

extern "C" __delspec(dllexport) void TestMethod();

.cpp 文件:

extern "C"
{
__delspec(dllexport) void TestMethod()
{
MessageBox(0, L"Test", L"Test", MB_ICONINFORMATION);
}
}

C#代码:

[DllImport("DllTest.dll", EntryPoint = "TestMethod")]
public static extern void TestMethod();

当我尝试调用 TestMethod 时出现异常:

an attempt was made to load a program with an incorrect format

我做错了什么?
谢谢!


最佳答案

这似乎是32bit/64 bit 的问题。似乎您的 C++ dll 和 C# 调用程序集是为不同的平台目标构建的。尝试为同一平台(x86 或 x64)编译两者,然后调用该函数。

关于c# - 尝试从 C# 调用 C++ dll 时出现格式不正确的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36592848/

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