阅读:4076回复:13
c/c++里数组长度最多是多少?
如题.
|
|
沙发#
发布于:2004-12-16 17:47
个人认为:
好像没有限制, 不过好像会受内存堆栈影响 [编辑 - 12/16/04 by snowStart] [编辑 - 12/16/04 by snowStart] |
|
|
板凳#
发布于:2004-12-16 19:16
如题. 你定义在什么地方?堆栈中的临时变量还是全局? 如果在堆栈中,受到程序堆栈的限制,如果是全局应该会大很多, 当然你可以调整堆栈大小 |
|
|
地板#
发布于:2004-12-16 19:41
char类型数组可达1M
|
|
地下室#
发布于:2004-12-17 09:55
[quote]如题. 你定义在什么地方?堆栈中的临时变量还是全局? 如果在堆栈中,受到程序堆栈的限制,如果是全局应该会大很多, 当然你可以调整堆栈大小 [/quote] 我定义的是全局的,顺便问一下,怎么调整堆栈大小呢?谢谢! [编辑 - 12/17/04 by zsh_7769] |
|
5楼#
发布于:2004-12-17 10:53
/HEAP (Set Heap Size)
Home | Overview | How Do I | Linker Options Syntax /HEAP:reserve[,commit] This option sets the size of the heap in bytes. The reserve argument specifies the total heap allocation in virtual memory. The default heap size is 1 MB. The linker rounds up the specified value to the nearest 4 bytes. The optional commit argument is subject to interpretation by the operating system. In Windows NT, it specifies the amount of physical memory to allocate at a time. Committed virtual memory causes space to be reserved in the paging file. A higher commit value saves time when the application needs more heap space but increases the memory requirements and possibly the startup time. Specify the reserve and commit values in decimal or C-language notation. |
|
|
6楼#
发布于:2004-12-17 13:32
理论上是没有限制的,编译器往往会有。
|
|
7楼#
发布于:2004-12-17 17:08
可以修改PE文件的相关位来改变默认堆和栈的大小.
|
|
|
8楼#
发布于:2004-12-28 14:12
可以修改PE文件的相关位来改变默认堆和栈的大小. 要在PE里改? :o |
|
|
9楼#
发布于:2004-12-29 13:38
理论上没有限制,好象与堆和栈的大小有关。
|
|
10楼#
发布于:2005-02-22 13:11
新人到
|
|
11楼#
发布于:2005-02-24 20:44
是1M左右,数组太大还不如用指针
|
|
12楼#
发布于:2005-05-10 09:02
是1M左右,数组太大还不如用指针 哪里有那么多啊,我上次定义a[10000],编译器说数组太大了 |
|
|
13楼#
发布于:2005-05-10 23:45
[quote]是1M左右,数组太大还不如用指针 哪里有那么多啊,我上次定义a[10000],编译器说数组太大了 [/quote] 在VB或delphi里定义到65535都没问题...C里面干脆用指针方便 |
|
|