Node.js 如何设置运行可执行文件的默认应用程序

Node.js 如何设置运行可执行文件的默认应用程序,node.js,bash,assembly,executable,Node.js,Bash,Assembly,Executable,我正在开发一个汇编程序,它获取汇编代码并在二进制文件中生成机器代码 另一方面,我开发了一个解释器,它读取生成的机器代码并对其进行解释 我是这样做的: myas foo.asm -o out myint out (myas是我的汇编程序应用程序,myint是解释器应用程序,两者都是nodejs应用程序) 有没有办法在可执行文件中设置运行可执行文件的程序 我想做的是/out(将其作为可执行文件运行) 如果我有一个要与节点一起运行的可执行文件,我会把它放在第一行:#!env/node 如何将myin

我正在开发一个汇编程序,它获取汇编代码并在二进制文件中生成机器代码

另一方面,我开发了一个解释器,它读取生成的机器代码并对其进行解释

我是这样做的:

myas foo.asm -o out
myint out
myas
是我的汇编程序应用程序,
myint
是解释器应用程序,两者都是nodejs应用程序)

有没有办法在可执行文件中设置运行可执行文件的程序

我想做的是
/out
(将其作为可执行文件运行)

如果我有一个要与
节点一起运行的可执行文件,我会把它放在第一行:
#!env/node

如何将
myint
命令设置为运行
out
文件?

我使用
env
启动应用了hack

汇编程序知道首先追加代码段:

#!/usr/bin/env arc-int
我还使文件可执行:

Fs.chmodSync(OUTPUT_FILE, 0755);
然后解释器知道不要解释那个片段


I.

您可以使用shell脚本并从节点调用此脚本吗?您可以始终将
的第一行输出
,以获得适当的shebang:
#/路径/to/myint
。然后修改解释器,使其跳过文件的第一行(如果文件以
开头)。如果文件不是ELF或没有shebang,则不会执行。所以你在这里只有很少的选择。@gniourf_gniourf这在linux上是不正确的,在linux上你可以使用魔法。在链接的wikipedia页面上有两个例子。binfmt配置可能不在SO的主题上。