作者AppleFox (狐狸...)
看板C_and_CPP
标题[问题] array 的 大小宣告问题
时间Mon Sep 14 08:14:24 2009
我在程式中宣告 三个array
unsigned char A[600][800][3];
unsigned char B[600][800][1];
unsigned char C[600][800][1];
这样的话程式会当在第三行
可是拿掉第三行或是C array变小就可以跑
请问这样三个array宣告 有太大吗?
占用记忆体有太多吗?
是否有办法宣告此三个array
OS: vista
IDE: CodeBlocks
感谢指教
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 76.170.74.39
1F:→ netsphere:这array算小的了 char C[600][800][1]; 为什麽要用 09/14 08:18
2F:推 LPH66:600*800*5=2.4M...宣告到全域去吧 stack可能不会够 09/14 08:18
3F:推 holymars:stack大小是有限的 动态配置吧... 09/14 08:19
4F:→ netsphere:"[1]" ? 有考虑到'\0'吗? 09/14 08:20
5F:→ VictorTom:虽然[1]感觉有点多於, 不过看起来这记忆体是用来搞影像 09/14 09:53
6F:→ VictorTom:处理的, 应该不用考虑'\0':) 09/14 09:54
7F:→ VictorTom:另外, 的确stack要塞这麽大容易爆掉, 我记得VC的话好像 09/14 09:54
8F:→ VictorTom:stack大於4K就会发warning了?? 拉到全域或动态配致吧:) 09/14 09:54
9F:推 QQ29:不好意思想请问 宣告到全域 他是配置在哪里呢? 09/14 10:42
10F:推 jaw109:data segment 09/14 12:27
11F:推 QQ29:那大小多少呢??data segment 09/14 17:43