com组件中申请的内存(例如一个SAFEARRAY),客户端用java、C#、VBnet或其他脚本语言调用,需要显式释放内存吗
佚名通过本文主要向大家介绍了
com组件中申请的内存(例如一个SAFEARRAY),客户端用java、C#、VBnet或其他脚本语言调用,需要显式释放内存吗等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: com组件中申请的内存(例如一个SAFEARRAY),客户端用java、C#、VBnet或其他脚本语言调用,需要显式释放内存吗
描述:
解决方案1:
描述:
如题
解决方案1:
SAFEARRAY 应该是不用的.有需要释放的情况
解决方案2: com一但将内存传了出来,就不再负责释放!
内存应该用客户端来释放,但如果客户端是非C或C++语言,基本上也不用释放!
像C#这样的东西,你想释放还不好弄呢。只管用就行了。脚本语言就更不用说了!
脚本语言一般都是自动清理内存的,脚本引擎知道释放。.net平台更有Garbage Collection。
解决方案4: COM服务器生成的SAFEARRAY,应该由客户端释放。COM服务器生成的BSTR,应该由客户端释放。COM服务器生成的VARIANT,应该由客户端释放,具体的可以用VariantClear。