错误C3861:'aligned':找不到标识符

时间:2016-04-24 14:42:57

标签: c++ visual-studio identifier

c code:

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

我正在使用visual studio 2015.有什么方法可以解决这个问题吗?也许使用不同的代码?我也试过这个:__ declspec((aligned(1)))但是,我得到了'对齐'未识别的扩展属性。感谢。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

typedef __declspec(align(32)) uint16_t  WORD_UA