错误 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
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