首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >haxelib运行不能启动新线程吗?

haxelib运行不能启动新线程吗?
EN

Stack Overflow用户
提问于 2018-05-07 21:01:54
回答 1查看 144关注 0票数 4

在我的测试Haxelib上尝试使用命令时,我得到了一个异常:

代码语言:javascript
复制
haxelib run haxelib-test

D:\HaxeToolkit\haxe\std/neko/vm/Thread.hx:54:字符20-71 :无法从宏中创建线程

不用穿线,一切正常。

Haxe代码:

代码语言:javascript
复制
import neko.vm.Thread;

class Main {
    static function main() {
        trace("starting");
        var commandsThread = Thread.create(read);
        trace("ending");
    }

    static function read() {
        trace("new thread");
    }
}

我的haxelib.json看起来是这样的:

代码语言:javascript
复制
{
    "name": "haxelib-test",
    "license": "MIT",
    "tags": [],
    "description": "",
    "version": "0.0.1",
    "classPath": "src/",
    "main": "Main"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-07 21:49:31

从你链接到的Haxelib博士

具有run.n助手或在haxelib.json中定义的主类的库可以使用haxelib run执行。

由于您提供了一个main类,Haxelib试图使用--interp参数在Haxe的内置宏解释器中运行您的代码。

Haxe 3的宏解释器不支持线程处理,因此出现了错误。您可以通过编译run.n文件并将其打包到库中,从而在Neko中执行该脚本:

代码语言:javascript
复制
haxe -main Main -neko run.n

Haxe 4 介绍线程支持其新的宏解释器"Eval“ in preview.5发行版。从该版本开始,您可以使用eval.vm.Thread。但是,请注意,这将使您的Haxelib的run命令不适用于运行老版本的Haxe版本的人。所以如果你想获得最大的兼容性,现在就坚持Neko吧。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50222376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档