c#和c++互操作

本文关键字:互操作 c++ | 更新日期: 2023-09-27 17:54:03

我有一个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

我在这里做错了什么?

c#和c++互操作

我认为你应该在使用它之前通过Dependency Walker检查。您的函数可能不会命名为square_array

结果是参数名称必须完全匹配。