在C#C#我有一个数据类型byte[]
,其欲填在使用C++函数,它返回char*
获取字节[]从在C++中的char *
的C++函数(在ImageData.dll
)
char* pMemoryBuffer = NULL;
char* LoadData(const char *fileName)
{
// processing pMemoryBuffer ...
return pMemoryBuffer;
}
导入本地的dll到C#:
[DllImport(".\\Modules_Native\\ImageData.dll", EntryPoint = "LoadData")]
private extern static byte[] LoadData(string fileName);
C#中的byte[]
数据
byte[] buffer = new byte[256*256];
buffer = LoadData("D:\\myPic.tif");
显然它还没有工作,但它提出了我想要做的想法。所以我想知道如何做这项工作,以及做到这一点的正确方法是什么。非常感谢您的教育。
它不知道C#数组必须多大。 – prq
查看线程中的更新。大小已初始化。 – Ono
你可以通过指定它的“不工作”来改善你的问题吗?我不是下来的选民,但这可能是原因。 – jmstoker