【发布时间】:2015-01-16 16:23:44
【问题描述】:
有很多关于使用 DllImport 的特定问题的文章。 唉,我经常看到对同一个问题的不同答复。 例如,有人说如果 c++ 函数返回 aa char* 和 int* strLen,那么有人说我应该在我的 dllImport 语句中使用 StringBuilder,而其他人说返回 byte[],有些人在 dllImport 中有一个 marshall 语句,有些人不不。由于旧的 C# / .net 版本,似乎需要一些答案。
所以问题是:如果来自 c++ 的 dll 调用相当简单,没有奇怪的调用约定或其他奇怪的项目,如果你有输出 char* 和 size 或输入 char * 和 size,对应的 DllImport 函数应该是什么?
c++ .h
bool SendString(const char* pSendStr, long strSize);
bool ReadString(char* pReadStr, long& readStrSize);
对应的 DllImports 是什么?用字符串替换 instr 和 outstr?字符串生成器?字符[]?字节[]?是否需要任何元帅声明?
【问题讨论】:
-
const char*==string和char*==StringBuilder(通常) -
char ***怎么样