从elisp加载动态库

时间:2009-02-13 08:44:01

标签: emacs elisp

我需要使用一些本机代码,我想尝试使用elisp作为脚本语言。 是否可以调用在动态库中实现的本机函数(在Windows中为dll)?或者唯一可能的做法是实现本机代码,用DEFUN(...)宏包装并重新编译emacs?

3 个答案:

答案 0 :(得分:12)

您无法使用Emacs Lisp代码动态加载库。为了解决这个问题,人们通常会调用外部程序(进程)并通过向其发送命令并读取其输出来控制它。

你可以看一下slime,tramp,gnuserv,movemail和其他一些类似的黑客行为。

答案 1 :(得分:6)

GNU Emacs 23D-BUS支持。虽然主要是Unix产品,但Windows支持D-BUS,并为用户级应用程序提供IPC系统。

你可以用它来构建你想要的东西。

答案 2 :(得分:0)

此功能仅存在于SXEmacs中,不支持Windows,但在Unix中它可以正常工作