bar*_*nos 1 c c++ virtual-memory 32bit-64bit
假设我不确定如何检查我正在运行的操作系统.
所以我想确定使用下面的代码:
#include <limits.h>
...
size_t os_size = sizeof(void*) * CHAR_BIT;
Run Code Online (Sandbox Code Playgroud)
我可以100%依赖它,还是有任何需要注意的警告?
例如:
我是否有可能安装32位操作系统的编译器并在64位操作系统上正常工作?
谢谢
没有.
正如您已经提到的,您可以在64位操作系统上使用32位编译器.在Linux上有一个更有趣的案例叫做X32 ABI,其中应用程序是32位特殊情况,但支持本机64位寄存器,本机64位数学等等.