考虑使用平台抽象库,如 NSPR
1. 为何选择 NSPR
在软件开发中,会遇到两个常见的问题,而 NSPR 能有效解决这些问题:
- 编译器差异 :在不同的系统中,C/C++ 整数类型(如 int 、 short 、 long )的大小是由编译器决定的。例如,在 16 位系统中, int 通常是 16 位;在 32 位系统中, int 通常是 32 位。但 short 和 long 的大小并不固定。下面是一个简单的代码示例:
#include <limits.h>
...
int bar;
bar = INT_MAX;
for (int i=0; i<bar; i++)
cout << i << "\n";
在 64 位系统中, int 可能是 64 位, bar 会被赋值为 0xffffffffffffffff ;而在 32 位系统中, bar 会被赋值为 0xffffffff 。这会导致代码在不同系统上的执行结果不同,从而使代码不具有可移植性。NSPR 提供了一些工具,帮助程序员编写在 C/C++ 数据类型大小方面更具可移植性的代码,不仅适用于
超级会员免费看
订阅专栏 解锁全文
1102

被折叠的 条评论
为什么被折叠?



