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

  • Cole Rolland

    Cole Rolland

    23 Kasım 2008
  • MrChiCity3

    MrChiCity3

    14 NİSAN 2008
  • NCIX Tech Tips

    NCIX Tech Ti

    2 Ocak 2007