我正在使用javascriptcore在c ++中执行一些js代码。
操作系统:Windows 8
IDE:visual studio 2013
js文件中的内容:
log('a');
log('b');
我找到了方法
JSEvaluateScript(ctx, script, NULL, NULL, 1, &exception);
没有按预期工作,所以我检查了它之前的语法:
JSCheckScriptSyntax(ctx, script, NULL, 0, NULL);
然后得到了错误:
ASSERTION FAILED: !source.provider()->source().isNull()
C:\jsctest\webkit\Source\JavaScriptCore\parser\Parser.h(1081): JSC::parse
First-chance exception at 0x013A1E77 in JavaScriptCoreTest.exe: 0xC0000005: Access violation writing location 0xBBADBEEF.
Unhandled exception at 0x013A1E77 in JavaScriptCoreTest.exe: 0xC0000005: Access violation writing location 0xBBADBEEF.
答案 0 :(得分:0)
经过一些测试,我发现:
如果我将它们分成2行,则不起作用。
如果我把它们放在同一行,它就可以了。
如果我使用cmd dos2unix
转换文件,则可以正常工作。
因此javascriptcore似乎不支持js文件中的\r\n
。