如何使用 duk_pcall 多次 运行 整个 js 文件?
How to run a whole js files multiple times using duk_pcall?
我想用duk_pcall
来做,这是我试过的:
- 首先,我将脚本文件加载到
char* string
.
- 其次,使用
duk_pcompile_string(ctx, 0, programBody)
编译。
- 那我可以用
duk_pcall(ctx, 0)
调用一次,调用duk_pop(ctx)
.
但是当我第二次尝试使用duk_pcall
时,我失败了。
你能给我一些正确的建议吗?
duk_pcompile_string
将结果放在 TOS 上,duk_pcall
执行 TOS(+ 最终参数)并将所有这些替换为调用的 return 值。
为了使该函数可多次调用,您必须 duplicate the TOS 插入所需的参数,然后使用 pcall 调用它。调用后从堆栈中删除结果。原来的功能现在应该再次出现在 TOS 中。重新开始这段写的,再调用。
我想用duk_pcall
来做,这是我试过的:
- 首先,我将脚本文件加载到
char* string
. - 其次,使用
duk_pcompile_string(ctx, 0, programBody)
编译。 - 那我可以用
duk_pcall(ctx, 0)
调用一次,调用duk_pop(ctx)
.
但是当我第二次尝试使用duk_pcall
时,我失败了。
你能给我一些正确的建议吗?
duk_pcompile_string
将结果放在 TOS 上,duk_pcall
执行 TOS(+ 最终参数)并将所有这些替换为调用的 return 值。
为了使该函数可多次调用,您必须 duplicate the TOS 插入所需的参数,然后使用 pcall 调用它。调用后从堆栈中删除结果。原来的功能现在应该再次出现在 TOS 中。重新开始这段写的,再调用。