gpt4 book ai didi

c# - 如何从 C++ DLL 中的 C# 简单函数调用

转载 作者:太空宇宙 更新时间:2023-11-04 15:42:23 25 4
gpt4 key购买 nike

我在 C++ 中有一个简单的函数(不是类的方法)

__declspec(dllexport) extern "C" void __stdcall TestFunc();  

我尝试从 C# 中调用它:

[DllImport("ImportTest.dll")]  
public static extern void TestFunc();

...

TestFunc();

它抛出一个“找不到入口点”的异常。

怎么了?

谢谢你帮助我:)

最佳答案

试试(猜测,那个DLL是用VS写的)

extern "C" __declspec(dllexport) void __stdcall TestFunc();

那是:

  • __declspec(dllexport) 通知编译器,该函数将从 DLL 中导出;
  • extern "C" 主要是防止function name decorations ;
  • __stdcall,因为如果您在 [DllImport] 指令中没有指定,这是默认调用约定。

将来,您可以使用 Dll export viewer 检查您的函数是否从 DLL 导出.

关于c# - 如何从 C++ DLL 中的 C# 简单函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21160662/

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