之前在eXtremeDB上做个小测试,在这个测试中,为eXtremeDB分配2G的内存,定义如下 #define DATABSE_SIZE 2*1024*1024*1024 发现内存分配不成功,经过检查后才知道: 上述的定义在宏替换时会默认是int类型,而int类型的表达范围为: -2*1024*1024*1024 ~2*102
之前在eXtremeDB上做个小测试,在这个测试中,为eXtremeDB分配2G的内存,定义如下
#define DATABSE_SIZE 2*1024*1024*1024
发现内存分配不成功,经过检查后才知道:
上述的定义在宏替换时会默认是int类型,而int类型的表达范围为:
-2*1024*1024*1024 ~ 2*1024*1024*1024-1
所以导致了内存的分配不成功,正确的定义应该为:
#define DATABSE_SIZE 2*1024*1024*1024L
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务