将c ++从Linux移植到windows,'__aligned__'

我试图从Linux移植一些代码到Windows,并有麻烦。

这一行:

uint8_t patch_[patch_size_*patch_size_] __attribute__ ((aligned (16))); 

给我:

 Error C3861 'aligned': identifier not found Error C3646 '__attribute__': unknown override specifier 

这是一个Linux到Windows的问题? 我无法在任何地方findaligned__attribute__的定义。

(我试图移植的代码是: https : //github.com/uzh-rpg/rpg_svo )

这是MSVC问题的gcc 。 根据文档 ,等价的MSVC特性是__declspec(align(16))

如果你的编译器支持C ++ 11,你也可以使用alignas声明。