在COM中一属性:
BSTR CGrgXFSCashAcceptorCtrl::GetTest()
{
CString strResult = "TEST";
return strResult.AllocSysString();
}1.在C#中是否需要释放内存????
2.如需要释放,怎么释放?(有没如SysFreeString的东东?)3.如不需要释放. 在C#中启一线程,在线程中:
while (true)
{
string str = GetTest();
System.Threading.Thread.Sleep(1);
} 内存会一直增加.
疑问:是否增加到一定程度系统会自行释放???
BSTR CGrgXFSCashAcceptorCtrl::GetTest()
{
CString strResult = "TEST";
return strResult.AllocSysString();
}1.在C#中是否需要释放内存????
2.如需要释放,怎么释放?(有没如SysFreeString的东东?)3.如不需要释放. 在C#中启一线程,在线程中:
while (true)
{
string str = GetTest();
System.Threading.Thread.Sleep(1);
} 内存会一直增加.
疑问:是否增加到一定程度系统会自行释放???
AllocSysString需要用函数FreeSysString手动释放
http://msdn.microsoft.com/en-us/library/za1865s1(v=vs.71).aspx
AllocSysString需要用函数FreeSysString手动释放你的意思是需要在C#中手动释放
请问C#中有没有FreeSysString这样的东东,如何使用?
System.Runtime.InteropServices.Marshal.FreeBSTR
Marshal.FreeHGlobal(p);在哪个函数(或类)中申请的就在那个函数(或类)中释放