2017-06-06 25 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