Clozure CL中文版002:安装和运行Clozure CL

  • 0

Clozure CL中文版002:安装和运行Clozure CL

Category:帮助手册 Tags : 

安装和运行Clozure CL

安装

Clozure CL通过Internet分发。 有关如何下载它的说明,请参阅http://ccl.clozure.com/download.html

按照下载说明操作后,您的系统上应该有一个名为的目录ccl。该目录称为ccl目录

Clozure CL由两部分组成:lisp内核堆映像。当lisp内核启动时,它会找到堆映像,将其映射到内存中,然后开始运行映像中包含的lisp代码。在ccl目录中,您将找到适用于您的平台的预构建的lisp内核可执行文件和堆映像。

下表列出了各种平台上用于lisp内核的名称。堆映像与相应的lisp内核具有相同的基本名称,但.image后缀为。因此,图像名称armcl将是armcl.image。

按平台划分的内核名称

平台

核心

Linux x86,x86-64

lx86cl,lx86cl64
OS X x86,x86-64

dx86cl,dx86cl64

FreeBSD x86,x86-64

fx86cl,fx86cl64

Solaris x86,x86-64

sx86cl,sx86cl64

Windows x86,x86-64

wx86cl,wx86cl64

Linux PowerPC 32位,64位

ppccl,ppccl64

Linux ARM 32位(armv6)

armcl

默认情况下,lisp内核将在lisp内核本身所在的同一目录中查找具有适当名称的堆映像。因此,可以通过直接运行./lx86cl64(或调用任何适当的二进制文件)来启动Clozure CL 来自ccl目录。

如果lisp内核二进制文件不起作用,您可能需要在本地系统上重新编译它。请参阅构建内核

运行Clozure CL

如果您始终从Emacs运行Clozure CL,则直接使用lisp内核二进制文件的完整路径名就足够了。也就是说,在您的Emacs init文件中,您可以编写类似的内容(setq inferior-lisp-program “/path/to/ccl/lx86cl64”)或进行等效更改slime-lisp-implementations。

从终端提示中直接运行Clozure CL也很方便。在scripts/ccl目录的目录中,有两个名为ccl和的文件ccl64。将这些文件复制到/usr/local/bin路径中的某个目录或其他目录中,然后编辑它们以使其值为CCL_DEFAULT_DIRECTORY您的ccl目录。然后,您可以通过键入ccl或启动lisp ccl64。

如果您使用64位lisp更多,您可能希望scripts/ccl64使用该名称 进行安装ccl。如果您希望32位lisp也可用,则可以安装scripts/ccl为ccl32。请注意,这些脚本没有任何神奇之处。您可以根据需要随意编辑它们。

初始文件

默认情况下,Clozure CL将查找ccl-init.lisp主目录中指定的文件,并在启动时加载它。在Unix系统上,它也会寻找.ccl-init.lisp。

如果您愿意,可以编译您的init文件,如果Clozure CL比相应的源文件更新,它将加载编译版本。换句话说,Clozure CL加载你的init文件(load “home:ccl-init”)。

因为init文件的加载方式与普通的Lisp代码相同,所以您可以在其中添加任何内容。例如,您可以更改工作目录,并加载经常使用的代码。

要禁止加载此init文件,请使用–no-init (or -n)选项调用Clozure CL。

命令行选项

从命令行使用Clozure CL时,可以使用以下选项来修改其行为。Clozure CL命令行参数的确切集可能因平台而异,并可能随时间而变化。可以使用该–help选项检索命令行选项的权威列表。

-h,–help

提供Clozure CL实现接受的命令行选项的最终(如果有些简洁)摘要,然后退出。

-V,–version

打印Clozure CL的版本然后退出。版本字符串与返回的值相同lisp-implementation-version。

-K,–terminal-encoding character-encoding-name

指定要用于的字符编码*terminal-io*(请参阅字符编码)。具体来说,字符编码名称字符串是大写的并且在keyword 包中实现。如果存在由该关键字命名的编码,*terminal-character-encoding-name*则将其设置为该编码的名称。默认是 :utf-8。

-n,–no-init

如果给出此选项,则不会加载init文件。如果Clozure CL由shell脚本调用,这不会受到用户可能具有的任何自定义的影响,这将非常有用。

-e,–eval 形式

表达式read-from-string从字符串形式读取(via )并进行评估。如果form包含shell元字符,则可能需要转义或引用它们以防止shell解释它们。

-l,–load 路径

加载path指定的文件。

-T,–set-lisp-heap-gc-threshold n

将Lisp gc阈值设置为n (请参阅GC页面回收策略)。

-Q,–quiet

当–batch 指定命令行选项时,禁止打印先驱和提示。

-R,–heap-reserve n

为堆扩展保留n个字节。默认值取决于所使用的特定平台(请参阅堆空间分配)。

-S,–stack-size n

将初始控件堆栈的大小设置为n(请参阅线程堆栈大小)。

-Z,–thread-stack-size n

将第一个线程堆栈的大小设置为n(请参阅 线程堆栈大小)。

-b,–batch

以批处理模式执行。文件结束*standard-input* 导致Clozure CL退出,尝试进入中断循环。

–no-sigtrap

在GDB下运行的一个模糊选项。

-I,–image-name 图像名称

指定要加载的内核的映像名称。默认为.image附加后缀的内核名称。

该–load和–eval选项可以分别提供多次。在加载init文件(如果有的话)之后和输入顶级read-eval-print循环之前,它们按照命令行中指定的顺序执行。

最后,伪参数后面的任何参数–都不会被处理,并且可以作为值的值用于Lisp *unprocessed-command-line-arguments*

将Clozure CL作为Mac应用程序运行

如果要将Clozure CL作为可双击的Macintosh应用程序运行,则可以执行此操作。如果您想从那里获得Clozure CL,可以从Mac App Store获得。或者,您可以自己构建IDE:请参阅构建IDE。目前,不可能将Clozure CL的Mac App Store版本用作命令行程序。


Leave a Reply

搜索

分类目录

公 告

本网站学习论坛:

www.zhlisp.com

lisp中文学习源码:

https://github.com/zhlisp/

欢迎大家来到本站,请积极评论发言;

加QQ群学习交流。