gpt4 book ai didi

.net - 无法找到入口点 (cpp)

转载 作者:搜寻专家 更新时间:2023-10-31 01:20:51 26 4
gpt4 key购买 nike

这是与 this one 类似的问题.

我想从 C++ 中导出一个简单的函数,供 C# 通过 PInvoke 调用。这是我的函数定义:

 int fnValue()
{
return 42;
}

这是 .h 文件中的导出定义:

__declspec(dllexport)  int fnValue();

这就是我 PInvoke 函数的方式:

    [DllImport("WhatDll.dll")]
public static extern int fnValue();

很简单吧?但是我有一个

System.EntryPointNotFoundException : Unable to find an entry 'point named 'fnValue' in DLL "WhatDll.dll'

我使用 dumpbin 来检查 WhatDll 里面有什么,这就是我所拥有的:

00000000 characteristics 4CFB5C95 time date stamp Sun Dec 05 17:34:13 2010 0.00 version 1 ordinal base 4 number of functions 4 number of names

ordinal hint RVA name

   1    2 00011014 ?fnValue@@YAHXZ = @ILT+15(?fnValue@@YAHXZ)

请注意,函数名称 fnValue 后面有一些乱码。

这很令人费解。有什么想法吗?

最佳答案

试着写

extern "C"__declspec(dllexport)  int fnValue();

关于.net - 无法找到入口点 (cpp),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4358304/

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