在 OMNeT++ 中使用 64 位内在函数

Using 64-bit intrinsics in OMNeT++

我正在使用 OMNeT++ 5.0,我想在我的 cpu 上访问英特尔内在功能。我更喜欢使用 64 位版本而不是 32 位版本。一个例子:

int i = _popcnt64(15);

我一直在阅读几年前 (2013) 的一些帖子,这些帖子表明 OMNeT++ 无论如何都将可执行文件打包为 32 位。我将 OMNeT++ 配置为不使用 clang 并且能够使 _popcnt32() 工作。

我希望有人验证 OMNeT++ 是否仍然以 32 位打包所有内容,这就是 64 位内在函数不起作用的原因。但是,如果有人知道允许使用 64 位内部函数的解决方法,我将不胜感激。

macOS 上的 OMNeT++ 5.0 和 Linux 支持 64 位编译。在 Windows 上,OMNeT++ 5.0 附带了一个 32 位编译器。另一方面,Windows 上的 OMNeT++ 5.1 捆绑了一个 64 位编译器(来自 mingw-w64 项目的 gcc)。事实上,OMNeT++ 5.1 及更高版本不再支持 32 位编译。