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

  • BDGcustoms

    BDGcustoms

    24 NİSAN 2011
  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • Tahir Jahi

    Tahir Jahi

    6 Mart 2006