阅读:2323回复:1
驱动中不能 用二维数组吗?请大侠指教!
代码如下:
当在while循环中有 pstr[index][0] = (char*)ExAllocatePool(NonPagedPool() 类似时 ,就会出现如下错误 error LNK2019: unresolved external symbol __chkstk referenced in function "void __stdcall 如果把while注释掉!整个程序没有问题!请问为什么?我试过PAGED_LOOKASIDE_LIST 也同样存在这样的问题.. 程序本身一个字符串辨识的作用! void SplistStr(char* pFileBuffer,int nFileLen) { char* pstr[100[10]; char* pMark = "#"; char* ptmpMark = ","; char* pTemp = NULL; char* ptmp = NULL; int index = 0; int nSpace = 0; int nLen = 0; int nsubLen = 0; if(pFileBuffer == NULL) return; for (int i=0;i<MAXROW;i++) { for (int j= 0;j<MAXCOL;j++) { pstr[j] = NULL; } } while ((pTemp = strstr(pFileBuffer + nSpace,pMark)) != NULL) { int nTemp = 0; int nsubIndex = 1; nLen = pTemp - pFileBuffer - nSpace ; // 当前的获取到的字符串长度 pstr[index][0] = (char*)ExAllocatePool(NonPagedPool,nLen +1);; memset(pstr[index][0],0,nLen +1); memcpy(pstr[index][0],pFileBuffer + nSpace,nLen); nSpace = nSpace + nLen + strlen(pMark); if(nSpace >= nFileLen) break; index++; } } |
|
沙发#
发布于:2010-05-20 12:48
解决了!跟MAXROW有关系!目前测试不能大约100,难道有规定吗?
|
|