Kezdőoldal » Számítástechnika » Programozás » C nyelven a konstans deklarálá...

C nyelven a konstans deklarálásnak vannak szabályai? Optimalizálás esetén kiveszi a tömböt a lefordított forrásból.

Figyelt kérdés

Deklaráltam egy sokezer elemet tartalmazó tömböt a következő képpen:

long tomb [150000]= {

...

...

};

Ilyen módon deklaráltam. Tesztelni szeretnék valamit, azért a nagy tömb... Normális, hogy az optimalizálás módosítja a kódot?

Ubuntu alatt GCC már a -O2 kapcsoló hatására is ezt teszi.



2015. jan. 23. 16:23
1 2
 11/14 A kérdező kommentje:
Köszönöm
2015. jan. 23. 17:33
 12/14 anonim ***** válasza:

Ha nem szeretnéd hogy az optimizer hozzányúljon a tömbödhöz, a volatile kulcsszóval deklaráld:

long volatile tomb[150000]


Azért szedi ki az optimiter, mert látja hogy számolsz vele, és utána sose hivatkozol rá, és azokat a változókat kioptimalizálja amikre nincs hivatkozás.

2015. jan. 23. 18:50
Hasznos számodra ez a válasz?
 13/14 anonim ***** válasza:
Előre sajnálom szegény stack-et. 15ezer long-gal már van egy kis dolga :D
2015. jan. 30. 00:55
Hasznos számodra ez a válasz?
 14/14 A kérdező kommentje:
Ha heap-ben lenne, annak is ugyanannyi dolga lenne :D
2015. jan. 30. 06:49
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!