问题描述
根据Spidermonkey的用户指南
我对这条语句的理解是,如果我们通过创建一个JSString比如JS_NewStringCopyZ(),返回的值可以在任何时候被gc'ed。例如
JSString * str = JS_NewStringCopyZ(cx,hello world);
JS_GC(cx);
// ..现在我的hello worldJSString不见了
阻止上面的 str 被gc'ed?我注意到有一个 JS_EnterLocalRootScope ()函数,我可以在我的JSNative函数开始时调用它。不幸的是,它现在已被弃用。那么应该怎么防止gc的正确方法呢?
解决方案