【问题标题】:Error C3861: 'aligned': identifier not found错误 C3861:“对齐”:未找到标识符
【发布时间】:2016-04-24 14:42:57
【问题描述】:

c 代码:

typedef uint16_t            WORD_UA     __attribute__((aligned(1)));    // 2 bytes

我使用的是 Visual Studio 2015。有什么办法可以解决这个问题?也许使用不同的代码?我也试过这个: __declspec((aligned(1))) 但是,我得到了“对齐”未识别的扩展属性。谢谢。

【问题讨论】:

    标签: c++ visual-studio identifier


    【解决方案1】:

    aligned 不是标准属性 - 尽管 gcc 支持它。

    使用标准 (C++11) alignas 说明符可能会更好。参见例如http://en.cppreference.com/w/cpp/language/alignas.

    【讨论】:

      【解决方案2】:

      __attribute__ 是 gcc 关键字,而不是 Visual C++。对于 MSVC,这段代码应该如下所示:

      typedef __declspec(align(32)) uint16_t  WORD_UA
      

      【讨论】:

        猜你喜欢
        • 2013-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-01
        相关资源
        最近更新 更多