MIT/GNU Scheme用户手册(三)

2 运行Scheme
本章介绍如何运行Scheme,以及如何使用命令行选项和环境变量定制Scheme的行为。
2.1 启动Scheme
在unix环境下启动Scheme,在命令窗口输入命令如下:
    mit-scheme
在Windows下双击Scheme的快捷方式即可启动。启动时,Scheme都会加载其本身并输出版权及发布版本的详细信息(具体信息此处略)。这个信息也可以使用如下的语句输出:
    (identify-world)
其中的Release是整个Scheme系统的版本号;Microcode是由C写成的系统部分的版本号;Runtime是由Scheme本身写成的系统部分的版本号。
根据如上的规则,可能还存在特定子系统的其他版本号。SF表示scode优化程序sf;LIAR/ARCH是本地代码编译器,其中ARCH表示编译到的体系结构;Edwin是一个类Emacs的文本编辑器。未来可能会有其他子系统加入到Scheme中。
2.2 定制Scheme
可以通过多种手段定制安装Scheme:
    a 命令行选项。命令行选项中有很多参数可以修改,比如:内存使用、库位置等。详见第2.4节[命令行参数选项](P7)。
    b 命令脚本或批处理文件。你可能想要通过脚本传入命令行选项来启动Scheme。例如:你可能没有足够的内存来以默认的内存参数运行Edwin或者编译器(启动时可能提示“没有足够的内存来使用此配置”并终止程序);你可以使用'--heap'命令行参数和其他参数来指定适当的参数值,unix上可以写脚本,Windows上可以写bat文件。
    c Scheme支持初始化文件(init):初始化文件包含有Scheme代码,可以在启动时运行其中的代码,初始化代码在出现Scheme标识之后,提示输入之前运行。初始化文件会保存在你的用户文件夹中,由HOME环境变量指定。在unx系统下,文件叫做:scheme.init,在PC中叫做scheme.ini。
    另外,当Edwin启动时,它会从你的用户目录下加载一个单独的初始化文件到Edwin环境中。这个文件在unix中叫做'.edwin',在PC上叫做'edwin.ini'(见第8.1节[启动Edwin],P53)。
你可以使用这两种文件来定义新的程序或命令,或者修改系统的默认属性和行为。
命令行选项'--no-init-file'会让Scheme忽略掉'scheme.ini(t)'文件(见第2.节[命令行选项],P7)。
    d 环境变量。大部分的Microcode参数和一些运行系统以及Edwin参数,都可以通过环境变量进行配置。详见第2.8节[环境变量],P10。
    e 图标。在Windows和X11的一些窗口管理器下,可以建立不同的图标来以不同的参数启动Scheme。
2.3 内存使用
一些参数可以用来控制Scheme使用多少内存以及如何使用。本节介绍Scheme如何组织和使用内存;接下来的章节介绍如何使用命令行选项以及环境变量设置内存的使用。
    Scheme以四种方式使用内存:
    a 栈(stack):用于递归程序调用;
    b 堆(heap):用于动态分配的对象,如:对(cons),元胞(cells)以及字符串(string)。堆上的对象存储在不被引用后由垃圾回收进行清理;
    c  常空间(constant space):用于分配像堆这样的对象。但与堆不同,在常空间分配的对象不会被垃圾回收清理,而是会长期存在的,比如:运行系统中的过程(procedure)。
    d 额外的内存使用:由microcode使用的内存(用C实现的系统部分)。
除了最后一种内存方式,都可以用命令行选项或环境变量来控制。
    MIT/GNU Scheme使用两空间(two-space)复制垃圾回收来回收堆上的内存。第二个空间,仅仅在垃圾回收时使用,并且是动态的按需分配的。
    一旦内存被分配到常空间和堆上,Scheme将会动态的调整常空间在总的内存中的比例;栈和microcode内存不在调整范围内。在使用'--band'选项加载标识时,以前的Scheme版本需要给出常空间的所需使用量。动态调整堆和常空间避免了这个问题。
    若常空间的大小没有被指定,它会自动设置一个能加载标识的内存大小;基本不需要自己显式的设置常空间的大小。此外,每个标识都需要一小段堆空间;这段空间会添加到任何已指定的堆大小上,所以指定的堆大小就是可用的自由空间大小。
    Scheme表达式'(print-gc-statistics)'会输出可用的堆和常空间大小(见第3.4节[垃圾回收],P20)。
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值