SORU
7 NİSAN 2010, ÇARŞAMBA


C Dize hazır Nereye giderler?

Dize/saklı tahsis MI nerede merak ediyorum.

Bir ilginç cevap here diyerek buldum:

Dize bir satır içi tanımlama aslında programın kendisi verileri gömer ve olamaz (bazı Derleyiciler akıllı bir hile ile bu izin, rahatsız etme) değiştirilmiştir.

ama, C ile , rahatsız etme diyor bahsetmiyorum bile vardı.

Rahatsız oluyorum. =D

Benim sorum nerede ve nasıl dize tuttu edebi mi? Niye değiştirmeye çalışayım? Uygulama platformuna göre değişir mi? Herkes "akıllı numara?" biraz açar mısınız yapıyor

CEVAP
7 NİSAN 2010, ÇARŞAMBA


Yaygın bir tekniktir için dize hazır olmak koymak "salt okunur veri" bölümü olan alır eşlenen içine alan işlem salt okunur olarak (bu yüzden seni değiştiremez).

Platforma göre değişir. Örneğin, basit çip mimarileri veri kesimi yazılabilir olacak yani salt okunur bellek parçaları desteklemiyor olabilir.

Sonra Dize hazır değiştirilebilir yapmak için bir hile (platform bağımlı olacak ve zamanla değişebilir) anlamaya, sadece diziler kullanmayı deneyin yerine:

char foo[] = "...";

Derleyici sabit başlatılmış almak için dizisi için ayarlayacaktır ve dizi değiştirebilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jkimisyellow

    jkimisyellow

    6 Mayıs 2009
  • Sams Page :D

    Sams Page :D

    15 Mart 2009
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009