BVP : Velikost pole v C

Gratz Jaroslav xgratz01 na stud.fee.vutbr.cz
Pátek Listopad 10 11:44:09 CET 2000


On Fri, 10 Nov 2000, Ing. Václav Peroutka wrote:

> Ale vec, na kterou jsem narazil, je omezeni velikosti dvourozmerneho pole,
> nikde jsem o tom nenasel ani zminku. Kdyz mam NX a NY 37, jeste vse funguje,
> jakmile to zvysim na 38, po spusteni programu mi to napise primo
> segmentation fault. Jelikoz to nenapise ani "Ahoj", vede mne to k myslence,
> ze je problem s pridelenim pameti. Ale to je zalostne malo, ten fragment
> nize je zacatek programu pro reseni elektrostatickeho pole metodou konecnych
> diferenci.

Na neco podobneho jsem uz taky narazil. Mel jsem

main()
{
 int pole[2000000];

A pokus o spusteni programu skoncil Segmentation Fault. Nahlednutim do
assembleru jsem zjistil, ze se to pole vytvari na zasobniku a 8 MB uz je
trochu moc. Pomuze

int pole[2000000];
main() {

nebo pole nedeklarovat a zavolat malloc. Nicmene proc vam nejde vytvorit
pole kde je neco malo pres 1000 prvku mi neni jasne, ja jsem narazil na
problem az kdyz jsem mel vic jak 2000000 intu.

Jaroslav Gratz



Další informace o konferenci Linux