C++ #include direktifi hakkında bellek ile ilgili soru

#include <iostream>

yapıp bunun preproccesor den geçmiş olan source halini alınca bizim dosyamız 5k oluyor derleyici tüm o declare işlemlerini gerçekleştirmiyordur değil mi?


| linker veya compiler bunun önüne geçiyor mu?


sonuçta kullanmadığımız şeyler de oluyordur kodumuzda o zaman boşu boşuna bellekte yer ayırmıyor muyuz?

from tkinter import * kodu tüm kütüphaneyi dahil ederken from tkinter import Buttonun sadece butonu dahil etmesi gibi bir şey mi istiyorsunuz?

Tabi ki gerceklestiriyor, standart bunu gerektiriyor.

Bazen. Ilgili compiler veya linker’in optimizasyon dokumanlarini okumak lazim.

Hangi bellekte?

bu yavaşlatmaz mı programı?
yani sonuçta hız için kullanılıyor dil bence böyle bir şey getirilmeli

değişkenler veya fonkisyonlar nerde saklanıyorsa oradan bahsediyorum :confused:

ingilizcemin yettiği kadarıyla stackoverflow da bir konu açtım ve dedikleri şey (anladığım kadarıyla) compiler engelliyormuş kullanmadığımız şeylerin deklarasyonlarında eksik veya yanlış anlamalarım olabilir sizde bir bakar mısınız?

You can have a million declarations. If they are not used, they are immaterial

böyle diyor biri

Hangi programi?
Compile asamasindan bahsediyoruz, daha program yok ortalikta.

Kaynak kodu dosyalarinda saklaniyorlar?

Compiler, preprocessor’in ciktisi olan “5k’lik” dosyayi diske yazmakta serbest, hafizada tutmak zorunda degil.

chi’nin cevabina (yorumlarda) ekleyecek bir seyim yok. Deklarasyonlarin hepsi hafizaya alinip isleniyor ama hepsi executable’da degisiklige neden olmuyor.

şeyi kastediyordum “ya derleyici izin verirse bu olaya” diye yani eğer derleyici izin verseydi program yavaşlamatmaz mı demek istemiştim ama neyse anladım olayı saolun :slight_smile: