首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >快速加载和编译系统

快速加载和编译系统
EN

Stack Overflow用户
提问于 2021-01-05 08:45:53
回答 1查看 69关注 0票数 1

我刚接触Lisp项目结构,我用Lisp处理了我的第一个更大的项目。这就是为什么我从quickproject:make-project制作的项目框架开始的原因。在这之后,我的第一个想法是创建一个文件夹结构,但我不知道我想怎么做,所以我只做了几个文件来拆分代码。

我将我的一些代码放在一个名为pixel.lisp的文件中,一些放在gameview.lisp中,主循环放在pixelworld.lisp中。

我的asd文件如下所示:

代码语言:javascript
复制
;;;; pixelworld.asd

(asdf:defsystem #:pixelworld
  :description "Describe pixelworld here"
  :author "Your Name <your.name@example.com>"
  :license  "Specify license here"
  :version "0.0.1"
  :serial t
  :depends-on (:sdl2 :cl-opengl)
  :components ((:file "package")
           (:file "pixel")
           (:file "gameview")
           (:file "pixelworld")))

如果我理解正确的话,这个文件应该在我ql:quickload它的时候告诉quickproject如何编译我的系统。因为:serialt,所以它应该按顺序编译。如果我从上到下手工编译和评估每个文件,这将没有任何问题,所以没有依赖关系的问题。但是,当我使用(in-package :pixelworld)对项目进行ql:quickload并进入包中时,我不能运行main函数,因为我系统中的其他表达式都没有求值。关于这一点,有没有什么基本的我不理解的地方,或者是我必须在quicklisp中使用另一个命令才能得到我想要的东西?提前谢谢。:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-06 09:34:05

就像Travis Sunderland和tfg在评论中提到的那样,在每个文件的顶部拥有( in -package :pixelworld)是很重要的。在改变之后,它运行得天衣无缝。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65571790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档