maxima-sbcl和maxima-openmcl有什么区别?
一、maxima-sbcl和maxima-openmcl的区别
maxima-sbcl和maxima-openmcl的区别是不同编译器编译出来的罢了。或者是两个版本maxima里面用到的lisp运行环境(runtime)不同。openmcl现在已经改名为Clozure CL,而Clozure CL官方wiki的描述是:Clozure CL is free。
Clozure CL 是一个自由的 Common Lisp 的实现。
而sbcl官方的描述是:Steel Bank Common Lisp (SBCL) is a high performance Common Lisp compiler.SBCL是一个高性能的Common Lisp编译器。
有的开源软件发布时,二进制版本会用不同编译方式编译出来以供不同喜好的人选择。
SBCL的整个编译过程花费的时间比较长。如果在SBCL代码上做了一些小的修改以后,想要重新编译查看效果,可以尝试使用源代码目录下的slam.sh。slam.sh将会尝试使用交叉编译器xc重新编译修改过的文件,然后使用通常的方式执行genesis和make-target-2阶段。
当然,另一个小建议是,尽量不要去碰SBCL的代码。关于SBCL的文档实在是少的可怜;而经过一段时间的研究以后,我又发现单纯看SBCL代码实在是非常痛苦的一件事,Orz。。。
PS1: 这篇文章主要参考了SBCL: a Sanely-Bootstrappable Common Lisp这篇文章、SBCL源代码以及CLiki.net网站。
PS2: 这篇文章中的图片绘图工具使用的是Dia (sudo apt-get install dia)。据说yEd也很不错。
延伸阅读:
二、CLISP
CLISP是byte code解释器,一般认为其可移植性比较好。我以前有几年经常要在Windows下面用Cygwin,当时Lisp开发上用的就是CLISP,因为这个是可以直接从Cygwin setup界面下载安装的。也有试过SBCL,印象里CLISP的报错什么的比SBCL要好一些。虽然SBCL会比较快,但是如果实际应用不需要那么快的话就没有太大的必要了。另外,虽然两个都是支持Common Lisp,但实际要移植代码的话可能会有些小的地方不一样
相关推荐HOT
更多>>java中栈内存和堆内存的区别是什么?
一、java中栈内存和堆内存的区别Java中分为栈内存和堆内存是为了更好地管理程序的内存使用。栈和堆是两种不同的内存区域,它们具有不同的特点和...详情>>
2023-10-13 22:43:39将编译器后端编译到LLVM有什么优缺点?
一、将编译器后端编译到LLVM的优点1、简化编译器的实现LLVM提供了丰富的抽象接口和优化器,可以方便地生成优化后的目标代码,使编译器的实现变...详情>>
2023-10-13 21:13:52SCHAR_MAX/MIN和CHAR_MAX/MIN有什么区别?
一、SCHAR_MAX/MIN和CHAR_MAX/MIN的区别SCHAR_MAX/MIN 特别强调的是“带符号”的字符的最大、最小数。CHAR_MAX/MIN则是没有声明带符号、却是指...详情>>
2023-10-13 17:33:36数据屏蔽有哪些一般规则?
一、数据屏蔽的一般规则数据屏蔽技术需要遵循一些规则,以便转换后的数据仍然有用。1、数据屏蔽必须是不可逆的一旦数据屏蔽技术转换了真实数据...详情>>
2023-10-11 06:00:16热门推荐
图像或文字识别有什么好的方法?
沸内存在计算机中起什么作用呢?
热java中栈内存和堆内存的区别是什么?
热有哪些开发网站的工具?
新为什么很多编程语言用 end 作为区块结束符,而放弃花括号?
将编译器后端编译到LLVM有什么优缺点?
Notion AI和Chatgpt的区别?
maxima-sbcl和maxima-openmcl有什么区别?
PHP和Java有什么区别?
C 风格的类型转换和 dynamic_cast 有什么区别?
python中的text editor,terminal,interpreter之间的区别是什么?
脚本语言和使用JIT compilation的语言的主要区别是什么?
SCHAR_MAX/MIN和CHAR_MAX/MIN有什么区别?
720和1080p区别?