Tar*_*nti 5 scheme interpreter compilation guile mit-scheme
我创建了一个abc.scm文件,并尝试在 Ubuntu 的终端中使用“ guild compile ”、“ scm ”和“ guile ”命令将其编译为二进制文件(或任何编译为的 guile 方案)。
对于“ guild compile abc.scm ”,我得到的输出“写为‘/home/tarunmaganti/.cache/guile/ccache/2.0-LE-8-2.0/home/tarunmaganti/abc.scm.go’ ”我找到了文件并像这样运行 - “ ./abc.scm.go ”表示权限被拒绝。
当我使用“ chmod 755 ”或“ chmod 777 ”授予必要的权限时,出现类似 - “ bash: ./abc.scm.go: cannot execute binary file: Exec format error ”的错误。
“ scm what-file-name.scm ”只是打开scm解释器。
" guile 任何文件名.scm什么都不做。
官方 GNU/Guile Scheme 的链接不是很有帮助。
请帮我。我想创建一个 guile 方案脚本文件。编译它并将其作为 C/C++ 程序运行。是否可以?如果无法编译,我想知道,如何至少运行GNU/guile 方案或MIT-Scheme的脚本文件。
{非常感谢逐步介绍,我仍然是使用 Ubuntu 和 Scheme 的初学者。}
提前致谢。
您可以使用 shebang 表示法创建 Guile 脚本(-s在较新版本的 Guile 中是可选的):
#!/usr/bin/guile -s
!#
(display "Hello, world!\n")
Run Code Online (Sandbox Code Playgroud)
注意!#第二行的 。Guile 将 视为#!块注释的开始(类似于#|标准方案中的内容),必须使用!#(类似于|#标准方案中的内容)来终止它。
如果您希望脚本将任何命令行选项传递给 Guile 本身,请阅读元开关。这是一个这样的例子:
#!/usr/bin/guile \
-e main -s
!#
(define (main args)
(if (null? (cdr args))
(format #t "Hello, world!~%")
(for-each (lambda (name)
(format #t "Hello, ~a!~%" name))
(cdr args))))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2157 次 |
| 最近记录: |