Common Lisp 中的条件 Windows 注释
Conditional Windows comments in Common Lisp
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)
如何以可移植(跨实现)的方式在平台上进行调度?某处有标准注释标志的参考吗?
#+
和 #-
测试符号在 *features* 列表中的存在。尝试检查它在您目标 implementations/platforms 的 repl 上的价值,看看您是否能找到一些共同点。
您也可以使用 #+(or windows win32)
来测试它们中的任何一个。
*features*
没有适用于所有实现的规范元素。 trivial-features project 标准化跨平台和实现的功能,因此,在加载琐碎的功能后,您可以在任何地方使用 #+windows
来表示 Windows。
我使用:
#+(OR WIN32 WINDOWS MSWINDOWS) ...
还有
#+(and (not windows) (or win32 mswindows))(pushnew :windows *features*)
然后
#+windows ...
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)
如何以可移植(跨实现)的方式在平台上进行调度?某处有标准注释标志的参考吗?
#+
和 #-
测试符号在 *features* 列表中的存在。尝试检查它在您目标 implementations/platforms 的 repl 上的价值,看看您是否能找到一些共同点。
您也可以使用 #+(or windows win32)
来测试它们中的任何一个。
*features*
没有适用于所有实现的规范元素。 trivial-features project 标准化跨平台和实现的功能,因此,在加载琐碎的功能后,您可以在任何地方使用 #+windows
来表示 Windows。
我使用:
#+(OR WIN32 WINDOWS MSWINDOWS) ...
还有
#+(and (not windows) (or win32 mswindows))(pushnew :windows *features*)
然后
#+windows ...