2017-06-06 30 views
0

哈斯克尔SDL绑定的浏览来源,我在下面的一段跌跌撞撞井号:哈斯克尔预处理 - 用花括号

#include "SDL/SDl.h" 

fromAudioFormat AudioS8 = #{const AUDIO_S8} 

是什么#{const AUDIO_S8}部分实际上呢?一目了然,它从SDL.h中提取了一个符号,但我想确切知道它在做什么以及如何构建类似的东西。我对const修饰符特别好奇。

回答

2

这就是hsc2hs语法。 const指令说“将此C表达式的文字数值输出到生成的.hs文件中”。 #只是调用预处理器。大括号是可选的 - hsc2hs只是读取到行结束时,如果你省略大括号,所以你可以很容易地编写

fromAudioFormat AudioS8 = #const AUDIO_S8 

更多具体的预处理指令看到the docs