代码之家  ›  专栏  ›  技术社区  ›  BlueBadger

带有系统调用的通用Lisp GUI编程

  •  2
  • BlueBadger  · 技术社区  · 16 年前

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

    谢谢

    2 回复  |  直到 16 年前
        1
  •  4
  •   schoppenhauer    16 年前

    你可以仔细看看 sb-posix-package

    另一种可能性(我会选择)是通过 CFFI ,然后执行它。

    /dev/fb* . 要使用它,需要ioctl(2)和读(2)ing和写(2)ing的系统调用,但我认为这比使用X11容易得多(尽管仍然需要大量工作)。也许你应该看看你的源代码 libFB 或者类似的东西,看看如何初始化它,等等。

    这真的是你想做的吗?这是大量的工作,您将学到很多,但我认为更多的是关于linux系统基础架构,而不是关于SBCL。如果您想在SBCL下使用系统调用,那么最好尝试仅使用Linux系统调用打开TCP套接字—仅此一项就可能需要数小时的时间。

        2
  •  3
  •   dmitry_vk    16 年前

    通过系统调用编写GUI意味着不使用任何GUI工具包,如Gtk+或Qt?在这种情况下,您应该通过套接字直接与X-server对话,并在其上实现所有X11协议(或使用CLX)和GUI。但这不是一项最容易的任务,因为X11很复杂。

    如果您决定深入研究X11,有一些有关规范的链接: http://www.xfree86.org/current/specindex.html http://www.freedesktop.org/wiki/Specifications?action=show&redirect=Standards