|
1
1
不能,您不知道非托管代码使用了什么分配器来创建cstring实例。而且,你必须调用cstring析构函数,你不能得到它的地址。 如果这个cSnpe对象作为C++函数的函数返回值返回,那么您就死在水中了。你的问题不清楚。你会有无法控制的内存泄漏。需要用C++/CLI编写的包装器来解决这个问题。作为函数返回值返回的字符串必须由cotaskmemalloc()分配,才能由p/invoke封送拆收器正确清理。没有C++代码可以做到这一点。 |
|
|
2
1
非托管代码分配的非托管内存只能由非托管代码释放。因此,您需要添加另一个非托管函数,该函数将获取指向已分配字符串的指针并释放内存。在处理完字符串之后,应该从托管代码调用此函数。 例子:
|
|
|
Ofek Pintok · 释放C中指针指针的动态内存 8 年前 |
|
|
M_D · 用jQuery替换文本会导致多个链接出错 8 年前 |
|
|
jfgoodhew1 · 在数据验证中按公式引用命名范围 8 年前 |
|
|
gideonzane · 动态命名范围的实际工作方式 8 年前 |
|
Erre Efe · 使用XUnit测试动态expando 8 年前 |