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

Porting c++ from Linux to 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 的问题吗?我在任何地方都找不到 aligned__attribute__ 的定义。

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

这是一个 gcc to MSVC issue. According to the documentation,等效的 MSVC 功能是 __declspec(align(16))

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