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

  • gsmaestro

    gsmaestro

    17 AĞUSTOS 2006
  • TurkishRoyal

    TurkishRoyal

    16 Ocak 2007
  • VOICE TV

    VOICE TV

    2 Aralık 2010