Common Lisp中规范的Windows / Not-windows条件注释是什么?
#-win32 (non-windows-stuff) #+win32 (usually-some-horrific-hack)
似乎在SBCL和LispWorks上正常工作(底层平台是32位还是64位),但CCL似乎只能理解
#-windows (non-windows-stuff) #+windows (usually-some-horrific-hack)
如何以便携式(跨实施)方式在平台上发送?在某处有标准评论标志的参考吗?
答案 0 :(得分:7)
*features*
的规范元素没有适用于所有实现。 trivial-features project规范了跨平台和实现的功能,因此,在加载普通功能后,您可以在任何地方使用#+windows
来表示Windows。
答案 1 :(得分:3)
#+
和#-
测试*features*列表中是否存在符号。尝试检查它在您要定位的实施/平台的repl上的价值,看看您是否能找到共同点。
您还可以使用#+(or windows win32)
来测试其中任何一个。
答案 2 :(得分:2)
我用:
#+(OR WIN32 WINDOWS MSWINDOWS) ...
另外
#+(and (not windows) (or win32 mswindows))(pushnew :windows *features*)
然后
#+windows ...