visual-c++ - 什么时候需要使用FreeHGlobal()?

标签 visual-c++ c++-cli

如果我使用 Marshal::StringToHGlobalAnsi 如下:

char *src = (char *)Marshal::StringToHGlobalAnsi(this->Textbox1->Text).ToPointer();

我需要使用 Marshal::FreeHGlobal() 吗?如果,我应该给什么参数?

最佳答案

根据 MSDN - 是的,您需要调用 FreeHGlobal。 http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.stringtohglobalansi%28v=VS.100%29.aspx :

Because this method allocates the unmanaged memory required for a string, always free the memory by calling FreeHGlobal

关于visual-c++ - 什么时候需要使用FreeHGlobal()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7692560/

相关文章:

c++ - 如何使用fprintf将连续的512字节保存到文件中

c# - 在 Windows 7 中使用 VC++ 和 C# 中的 MemoryMappedFiles 或命名管道进行进程间通信

c# - 面向 .NET Framework 4.0

c++-cli - 坚持从非托管 C++ 调用约定调用托管 CLI 方法

.net-4.0 - 如何使用带有 C++/CLI 的 app.config 文件在 VS 2012 中配置程序集绑定(bind)?

c++ - 混合使用 UNICODE 和非 UNICODE 翻译单元是否安全?

c++ - 如何在 visual studio 2010 express 中将 cpp 编译为 dll

c++ - 如何防止静态库被复制?

c# - 与代表的麻烦

file - 我是否在某处读到过 C++/CLI 让我们走向一个 "header-file"更少的社会,比如 Java