C# 和 C++ 互操作
Posted
技术标签:
【中文标题】C# 和 C++ 互操作【英文标题】:C# and C++ interop 【发布时间】:2015-06-07 00:50:23 【问题描述】:我有一个定义为
的 C++ 函数#define DllExport __declspec( dllexport )
extern "C" DllExport void _stdcall CppAmp::square_array(float* arr, int n)
和c#代码
[DllImport("C++AmpProject.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Auto)]
extern unsafe static void square_array(float* array, int length);
但是我得到了一个例外System.EntryPointNotFoundException
我在这里做错了什么?
【问题讨论】:
函数以修饰名导出。 【参考方案1】:我认为您应该在使用前通过Dependency Walker 进行检查。您的函数名称可能不像square_array
【讨论】:
【参考方案2】:事实证明参数名称必须完全匹配。
【讨论】:
不,不是这样以上是关于C# 和 C++ 互操作的主要内容,如果未能解决你的问题,请参考以下文章