[zeromq-dev] zmq_version

Steven McCoy steven.mccoy at miru.hk
Wed Jan 27 15:49:31 CET 2010

2010/1/27 Peter Busser <busserpeter at gmail.com>

> Hi,
> I appreciate that there are libraries which provide a version as a C
> macro. But as I have described on the dev mailing list, the Common
> Lisp CFFI foreign function interface doesn't use header files. The
> whole interface is specified in Lisp. In other words, not a single
> line of C code is compiled. Therefore macros aren't very effective for
> as far as the CL interface is concerned.
> Don't forget that a macro provides information about the version at
> compile time, not at run-time.

I believe Lisp not using the header files means it avoids the problems that
the macros have been written to solve.  However for your issue, both GLib
and Protobuf provide numbers as global variables, apparently to resolve
another problem with shared libraries,

/* Glib version.
 * we prefix variable declarations so they can
 * properly get exported in windows dlls.
 */GLIB_VAR const guint glib_major_version;GLIB_VAR const guint
glib_minor_version;GLIB_VAR const guint glib_micro_version;GLIB_VAR
const guint glib_interface_age;GLIB_VAR const guint glib_binary_age;
const gchar * glib_check_version (guint required_major,
                                  guint required_minor,
                                  guint required_micro);

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20100127/01d5f3d2/attachment.htm>

More information about the zeromq-dev mailing list