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的主题上。