Bu Linux'ta gcc 4.4.6 olduğunu. gcc derleme zamanı ve bellek kullanımı kaynak kodundaki dizi boyutu olarak değişiyor
gcc bizarre.c
Sonra derleyici bellek 4G kullanır ve uzun zaman alır:
İşte bu kullanarak derlemek davranış
bizarre.c
double a[500000000];
main() {
}
bu.
Dizi boyutunu 50000000 yaparsam, derleme daha az bellek ve zaman alır.
Derleyici, derledikleri kodu çalıştırıyor gibi.
Bu şekilde humojen bir dizi oluşturmanın en iyi uygulama değil, herhangi bir açıklama olabileceğini anlıyorum.
32 veya 64 bit yürütülebilir dosya mı derliyorsunuz? –
optimizasyon bayrakları yok mu? Optimizasyon açıkken bir yığın taşmasıyla karşılaşacaksınız, optimizasyonun -O0 –
@ 0A0D'den daha yüksek olması durumunda bu değişken muhtemelen elimine edilir: bu dizi zaten '.bss' bölümünde doldurulur. yığın yok ... – sarnold