将 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
声明。
我正在尝试将一些代码从 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
声明。