|
|
1
4
使用一个包装器,该包装器删除第一行并使用文件的剩余部分调用真正的解释器。它可能看起来是这样的:
除此之外:在某些情况下,忽略关于第一行的错误消息可能是一种选择。 最后的办法是:将解释器的注释字符代码支持到内核中。 |
|
|
2
3
我认为第一行是由操作系统解释的。 将启动解释器,并将脚本的名称作为其第一个参数传递给脚本。 以下脚本“first.mint”调用解释器“myinterpreter”,该解释器是下面C程序的可执行文件。
个人口译员示意图:
现在调用脚本(之前已使其可执行)并查看输出:
|
|
|
3
1
我成功了。我特别感谢霍尔杰罗的翘尾技巧
这一点,以及在堆栈溢出上找到这个答案,使得它成为可能: “完全满足我需求的解决方案是SHC——一个免费的工具” SHC是一个shell到C的转换器,请参阅此处: http://www.datsi.fi.upm.es/~frosal/
所以我写了
我用shc和gcc编译了这个:
现在,我能够创建第一个用ML编写的脚本:
而且,我能够运行它:
Poly没有抑制编译器输出的选项,但这不是问题。按照fgm的建议,直接用C编写polyscript可能很有趣,但这可能不会让它更快。 所以,事情就是这么简单。我欢迎任何评论。 |
|
biera · PHP:pntl_exec即使提供了有效的可执行路径也无法工作 11 月前 |
|
|
sk123 · Shell脚本-如何在循环中显示变量名及其值 1 年前 |
|
|
sai · unix中使用python进行数据重组 2 年前 |
|
|
FangQ · 如何使用jq打印由制表符“\t”分隔的JSON数组元素 2 年前 |
|
|
ROHAN · 我想显示包含一个括号的行,包括它的开头或结尾 2 年前 |
|
Geomicro · 删除模式sed之间的逗号 2 年前 |