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

Error C3861: 'aligned': identifier not found

c代码:

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

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

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

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

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

typedef __declspec(align(32)) uint16_t  WORD_UA