如何通过模板元编程确定我的 PC 是小端序还是大端序
How can I decide my PC is little endian or big endian by template meta-programing?
我知道非元编程决定PC的方式是否是小端序。
例如:
#include <iostream>
#include <stdint.h>
union A {
uint16_t v;
char c[2];
};
int main(void) {
A a;
a.v = 0x0102;
std::cout << (a.c[0] == 0x01 ? "big endian" : "little endian") << std::endl;
return 0;
}
但是,它在运行时很昂贵,不是吗?
那么,有没有办法通过元编程来确定PC是否是小端序呢?
谢谢!
语言中没有任何内容要求目标计算机完全是大端或完全是小端。实际上,某些体系结构允许软件在运行时选择字节序。有些甚至允许按页字节序选择。
模板元程序不可能知道这些东西的任何信息。
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 我的字符计数代码计算错误.为什么
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- cmake在我的项目中所需的所有静态库都不成功
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 为什么我的for循环不能正确获取argv
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 0-1背包代码中的错误.我的代码中有什么错误
- Visual C++ wxWidgets应用程序仅适用于我的PC
- 使用Boost库中的PC中获取我的以太网设备IP地址的列表
- 如何通过模板元编程确定我的 PC 是小端序还是大端序
- 为什么当我在控制台应用程序中打印出超过 7 个控制台输出时C++我的 PC 会发出哔哔声
- 我的OpenGL应用程序在ATI上运行,但在nNVIDIA的PC上不起作用
- 我可以将处理后的视频输出从 PC 上的 OpenCV 流式传输到安卓平板电脑吗?
- Qt:我的应用程序没有显示在我的企业硬件中,而在PC中显示
- 在我的Mac或PC上运行斯坦福CS107分配文件失败,帮助~
- CodeForces Little Pony和Lord Tirek的判决从我的PC上得到不同的输出
- 如何通过我的PC终端在我的安卓设备上编译和运行C程序