| 
			 
					阅读:2172回复: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,所以请节约点.....				 
							 | 
	|
					
						
  |