前言:我在驱动中申请ULONG_MAX大小的数组,就报了这个错,要实现大的内存申请,可以在堆上申请。
错误消息
数组的总大小不得超过 0x7fffffff 字节
数组超出该限制。减小数组大小。
示例
下面的示例生成 C2148:
// C2148.cpp #include <stdio.h> #include <stdlib.h> int main( ) { char MyArray[0x7ffffffff]; // C2148 char * MyArray2 = (char *)malloc(0x7fffffff); if (MyArray2) printf_s("It worked!"); else printf_s("It didn't work."); }