阅读:1996回复:7
unresolved external symbol __chkstk
unresolved external symbol __chkstk
这是什么错? |
|
沙发#
发布于:2001-06-28 23:14
也就是说,
在OnSysDynamicDeviceInit()中变量最多只能声明 1022*DWORD 否则就报上面的错。 |
|
板凳#
发布于:2005-01-17 17:48
那这样局限性不是太大了,怎么可以申明多点?
|
|
地板#
发布于:2005-01-17 19:18
unresolved external symbol __chkstk 是chriswu 说的那样吗? 我没有测试过9x有这个限制 |
|
|
地下室#
发布于:2005-01-17 19:43
我在2K下确实发现有这个问题,改小了就好了,所以我觉得奇怪,按说如果只能分配这么点那也太小了
|
|
5楼#
发布于:2005-01-18 10:06
是编译器干的,和平台没有关系
如果你要用的stack超过了一个PAGE(X86 == 4096),会call __chkstk,但是vxd和sys一般是不包含C runtime lib的(如msvcrt.lib),link的时候自然出错 至于为什么要__chkstk,请看看《核心编程》 在驱动,在stack上分配那么大的内存,是很危险的 |
|
6楼#
发布于:2005-01-18 16:06
大侠就是大侠,赞
|
|
7楼#
发布于:2005-01-19 16:51
X8处理器的内核堆栈只有12K,其他平台有16K,所以请节约点.....
|
|
|