gpt4 book ai didi

user-interface - 使用系统调用的 Common Lisp GUI 编程

转载 作者:行者123 更新时间:2023-12-04 00:48:57 29 4
gpt4 key购买 nike

谁能告诉我有关使用 (Steel Bank) Common Lisp 通过系统调用编写 GUI 的信息?我知道那里有一些图书馆,但这是一个语言学习练习,所以我想自己做。

我正在 Kubuntu 8.10 和 SBCL 1.0.18 上开发。

谢谢。

最佳答案

你可以仔细看看sb-posix-package .但正如页面所说“SB-UNIX 包中包含的功能仅供 SBCL 内部使用;其内容可能会因版本而异。”

另一种可能性 - 我会选择的一种 - 是通过 CFFI 包含 C-syscall(2)-Instruction , 然后执行。

要创建一个窗口化的 GUI,您必须使用 X11,至少要给您一个可以在上面绘画的窗口。因此,您必须了解 X11 规范才能创建窗口,并实现用于访问 Unix 域套接字或启动 shm 设备等的系统调用。

如果您只想在控制台上显示图形,您可以考虑使用帧缓冲设备 /dev/fb*。您需要 ioctl(2) 和 read(2)ing 和 write(2)ing 的系统调用才能使用它,但是,我仍然认为这比为此使用 X11 容易得多(尽管仍然有很多工作)。也许你应该看看 libFB 的源代码或类似的东西,看看如何初始化它,等等。

这真的是你想要做的吗?这是很多工作,你会学到很多,但我认为更多的是关于 linux 系统基础设施,而不是 SBCL。如果您想在 SBCL 下使用 Syscalls,也许最好尝试仅使用 Linux-Syscalls 打开 TCP-Sockets - 仅此一项可能会花费数小时的时间。

关于user-interface - 使用系统调用的 Common Lisp GUI 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/647661/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com