将c ++从Linux移植到windows,'__ align__'

时间:2017-01-28 18:45:44

标签: c++ linux windows gcc porting

我正在尝试将一些代码从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的问题吗?我无法在任何地方找到aligned__attribute__的定义。

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

1 个答案:

答案 0 :(得分:6)

gcc到MSVC问题。根据{{​​3}}。,等效的MSVC功能为__declspec(align(16))

如果您的编译器支持C ++ 11,您还可以使用the documentation声明。