我学会了方案,很快就掌握了很多,然后在其中完成了一个项目。从字面上看,我花了好几天才完成。我现在正在尝试学习通用的lisp来获得这种感觉,现在我真的非常努力学习asdf。这似乎是常用的知识如何使用它与图书馆,但我很困惑。我想这是因为大多数lisp程序都是在repl内部生成和运行的,因为这一切都很好。当我尝试将它编译为一个可执行文件时,我放弃了我的位置。
有没有人可以给我任何建议或指向我的教程呢?我真的希望能够制作一个可执行文件给人,而不必解释如何安装sbcl和(需要)然后运行它。我只是想学会在lisp方面做一些实质性的工作,我无法做到这一点。
我想我可以使用方案并使用ffi来获得c库的工作,但我没有c的经验。我只是一个Web开发人员,因为我自己的个人原因在学习Lisp。当然,学习一些c和ffi可能不会像这个哈哈一样长。
谢谢与普通的lisp库努力奋斗
3
A
回答
7
我真的希望能够作出 执行,以给人们无需解释如何安装SBCL 和(需要),它然后运行它 。
您不需要ASDF来生成“独立”可执行文件。大多数实现都提供了保存可执行映像的手段,但是如何做到这一点(以及是否提供所有内容)并未在标准中提及。
一般而言,您会将代码加载到运行映像中,然后“转储”该映像。
在SBCL中,例如,您可以使用sb-ext:save-lisp-and-die;覆铜板有ccl:save-application。你将不得不查看你的实现的文档,以了解如何做到这一点。
我没有SBCL在这里的时刻,但这个小例子,应该工作(未经测试):
(defun do-it() (format t "hello world~%"))
(sb-ext:save-lisp-and-die "hello" :toplevel #'do-it :executable t)
这是使用CCL工作示例:
Welcome to Clozure Common Lisp Version 1.6-dev-r14287M-trunk (LinuxX8632)!
? (defun do-it() (format t "hello world~%"))
DO-IT
? (ccl:save-application "hello" :toplevel-function #'do-it :prepend-kernel t)
[[email protected] ~/build/ccl]% ./hello
hello world
这些可执行映像可能会有相当大的规模,除非你的实现提供了像树形摇杆一样的东西,但我认为这不应该成为现在的问题。
您可以在another SO question about this topic找到clisp的详细示例。
+0
这是否回答你的问题?我不太确定,如果我理解正确,因为你说,所有东西都可以从REPL中运行。如果您可以在REPL中加载您的库,我上面描述的是获取独立可执行文件的方式,然后您可以将其分发给用户。如果您希望它们具有普通的REPL,但是您的图库已经存在于图像中,则只需省略:toplevel(-function)关键字参数。 – danlei 2010-09-29 01:44:54
0
相关问题
- 1. 与JSplitPane奋斗
- 2. 与mod_rewrite奋斗
- 3. 奋斗与提升:: python
- 4. 与django重组奋斗
- 5. 与左连接奋斗
- 6. 新手奋斗与std :: cin
- 7. 与dataGrid样式奋斗WPF
- 8. 奋斗与动态ndarray
- 9. jQuery AJAX奋斗
- 10. Android〜ListViewAdapter奋斗
- 11. OpenGL灯光奋斗
- 12. AS3新手奋斗
- 13. Python功能奋斗
- 14. 与列表和ArrayList的使用奋斗
- 15. 努力与AJAX
- 16. MySQL与加入/选择标准奋斗
- 17. 在JavaScript中与原型/继承奋斗
- 18. Linq C#奋斗与更新代码
- 19. 与Bussiness Pack警报组件奋斗
- 20. Clojure新手与协议奋斗
- 21. 与响应背景图像奋斗
- 22. 奋力AWK一通组合
- 23. SML数据类型奋斗
- 24. 角ui路由器奋斗
- 25. jquery.load谷歌地图奋斗
- 26. 奋斗到浏览Kibana 3
- 27. JPA - 一对多奋斗
- 28. 常春藤conf奋斗
- 29. 努力与数据库设计/关系
- 30. 普通lisp的primep函数
我想帮助你,并写答复你的问题上comp.lang.lisp。我的反应不够快吗? – Xach 2010-09-28 22:48:03
不,大声笑。这感觉就像我像一条生命线一样抱着你,我担心你可能会变得忙碌,我会占用你太多的时间。 所以我在这里发布,看看是否有其他人可以在这可能不会在comp。lang.lisp。 – Isaiah 2010-09-29 00:53:59