首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

编译和分发 Chez Scheme 应用程序

编程知识
2024年09月08日 20:47

参考 Building and Distributing Applications.

假设源码由两个文件组成,A.ssB.ss,其中 A.ss 依赖 B.ss。下面我们将其编译为可供分发的二进制文件。

将源码转为 object file

在 Chez Scheme 的 REPL 中(下同)输入

;; REPL
(compile-library "B.ss")  ; by default it compiles to "B.so"
(compile-program "A.ss")  ; by default it compiles to "A.so"

注:so 后缀是 Scheme object 的缩写,而非 Linux 系统下的 shared object 文件,尽管两者用途类似,但文件格式不同。

(可选)合并 object file

;; REPL
(concatenate-object-files "out.so" "B.so" "A.so")

scheme-start 包装程序入口

A.ss 中,用 scheme-start 包装程序入口,其中 fns 为命令行传入参数

;; A.ss
(scheme-start
  (lambda fns
    #;(initialize-application)
    #;(start-application fns)))

将 object file 转为 boot file

;; REPL
(make-boot-file "out.boot" '("scheme") "out.so")
; (make-boot-file "out.boot" '("scheme") "B.so" "A.so")

将 Chez Scheme 可执行文件复制并命名为 boot file 的名称

## bash
cp /usr/bin/scheme ./out

可以运行了!

## bash
./out -b out.boot
# scheme -b out.boot

理论上 SCHEMEHEAPDIRS="%x:" ./out 也是可以的,这时应该会自动识别出 boot file 的文件名,但是我没有成功...

From:https://www.cnblogs.com/0x1B/p/18402799
本文地址: http://www.shuzixingkong.net/article/1836
0评论
提交 加载更多评论
其他文章 题解:AT_arc116_b [ARC116B] Products of Min-Max
在题库里面乱翻,就翻到了。 因为在这道题里面子序列不需要考虑元素顺序,所以原序列无论是什么顺序都不会影响答案。 所以先把元素按照从大到小的顺序排列,然后考虑每个元素的贡献。 在当前序列中,对于元素 \(a_i\),不妨设其为最小值,并去寻找它能作为哪些序列的最小值。容易发现它作为最小值的时候只能和
Pipeline流水线通过git拉取Jenkinsfile报错 error: RPC failed; result=22, HTTP code = 404
Pipeline流水线通过git拉取Jenkinsfile报错 error: RPC failed; result=22, HTTP code = 404 在学习共享库时使用通过git拉取jenkinsfile时,报错在排查gitlab服务状态,网络通讯,防火墙规则以及Jenkins凭据均可以正常使
Pipeline流水线通过git拉取Jenkinsfile报错 error: RPC failed; result=22, HTTP code = 404 Pipeline流水线通过git拉取Jenkinsfile报错 error: RPC failed; result=22, HTTP code = 404 Pipeline流水线通过git拉取Jenkinsfile报错 error: RPC failed; result=22, HTTP code = 404
实现人形角色的攀爬
在Unity实现角色攀爬 前言 开放世界类型的游戏近年也热门起来了,自由攀爬也成了这一类游戏的一大特色。攀爬给了玩家更多探索路径的选择,也让地图设计有了更多思路。这次,我们就来尝试在Unity中制作一个人形角色的攀爬。 注:攀爬是一个角色完整动作系统的一部分,本文暂且抛开其它动作,也不涉及动画,仅针
实现人形角色的攀爬 实现人形角色的攀爬 实现人形角色的攀爬
红黑树
概述 红黑树(Red-Black Tree,R-BTree)是一种自平衡的二叉查找树,在红黑树的每个节点都多出一个存储位表示节点的颜色,颜色只能是红(Red)或者黑(Black)。 红黑树的特性如下: 每个节点或者是黑色的,或者是红色的 根节点是黑色的 每个叶子节点都是黑色的,这里的叶子节点指的是最
红黑树 红黑树 红黑树
Redis 入门 - 图形化管理工具如何选择,最全分类
Redis图形化管理工具可分为四类:命令行工具、桌面客户端工具、网页工具、插件工具。看看哪一款适合你呢?
Redis 入门 - 图形化管理工具如何选择,最全分类 Redis 入门 - 图形化管理工具如何选择,最全分类 Redis 入门 - 图形化管理工具如何选择,最全分类
什么样的人生才是幸福的一生?(与孩子争执过后有感而写)
围绕着你考研和工作的问题和你争执不下,我仔细想了一下,这种争执看似是因为考研或工作的方向,其实是我们两个人关于人生幸福观的不同观点的碰撞。 那么作为一个人,到底未来怎样的生活才能使自己舒服惬意也就是幸福? 我觉得你的观点可能是高薪有钱,生活休闲,这样就是一种幸福。你如今所有的努力和辛苦都是在为这种生
《痞子衡嵌入式半月刊》 第 107 期
痞子衡嵌入式半月刊: 第 107 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回
《痞子衡嵌入式半月刊》 第 107 期 《痞子衡嵌入式半月刊》 第 107 期 《痞子衡嵌入式半月刊》 第 107 期
代码整洁之道--读书笔记(5)
代码整洁之道 简介: 本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。 本书适合所有程序员阅读,
代码整洁之道--读书笔记(5) 代码整洁之道--读书笔记(5)