【问题标题】:Haskell preprocessor - pound sign with curly bracesHaskell 预处理器 - 带花括号的井号
【发布时间】:2017-06-07 03:25:05
【问题描述】:

浏览 Haskell SDL 绑定的来源,我偶然发现了以下内容:

#include "SDL/SDl.h"

fromAudioFormat AudioS8 = #{const AUDIO_S8}

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

【问题讨论】:

    标签: haskell preprocessor


    【解决方案1】:

    这是hsc2hs 语法。 const 指令表示“将此 C 表达式的文字数值输出到生成的 .hs 文件中”。 # 只是调用预处理器。花括号是可选的 - hsc2hs 如果省略大括号,则只会读取到行尾,因此您可以轻松编写

    fromAudioFormat AudioS8 = #const AUDIO_S8
    

    有关特定预处理器指令的更多信息,请参阅the docs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 2019-02-02
      • 2019-01-26
      • 2021-11-23
      • 2012-01-10
      • 2015-03-29
      • 1970-01-01
      相关资源
      最近更新 更多