c++中 的声明是 char* f(char *);c# 中声明
[DllImport("Crawl.dll",EntryPoint="f")]
public static extern StringBuilder f(StringBuilder url);
调用形式
StringBuilder sb1 = new StringBuilder("sssss");
StringBuilder sb2 = GetHTTPString(sb1);异常信息:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。调了两天关于C#调C++的库,崩溃了。微软做的神马玩意
[DllImport("Crawl.dll",EntryPoint="f")]
public static extern StringBuilder f(StringBuilder url);
调用形式
StringBuilder sb1 = new StringBuilder("sssss");
StringBuilder sb2 = GetHTTPString(sb1);异常信息:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。调了两天关于C#调C++的库,崩溃了。微软做的神马玩意
StringBuilder f ???
试试:
public static extern IntPtr f(string url);url是in参数string类型就可以了。返回值是由非托管分配的,无法使用StringBuilder