2009-08-21 12 views
17

Visual Studio 2005/2008'deki Proje Özellikleri'nin Yapılandırma sekmesi, "En iyileştirme kodu" içerir.Visual Studio'da "En iyileştirme kodu" onay kutusu. Bu tam olarak ne işe yarar?

Dokümantasyon, "... çıktı dosyanızın daha küçük, daha hızlı ve daha verimli olmasını sağlamak için derleyici tarafından gerçekleştirilen optimizasyonları etkinleştirir veya devre dışı bırakır."

  1. Soruma neden sahip olmamalıyım?
  2. Neden varsayılan olarak açık değil?
  3. Aslında ne yapıyor? Düzgün bazı satırlar optimize edilecek beri (yazdıklarını yansıtmıyor olabilir çalıştıran gerçek kod olarak zor kodu atlama yapar gibi

cevap

24
  1. Sen, inşa edilmiş bir ayıklama bunun üzerinde istemem DEBUG yukarıdaki nedenden dolayı inşa dışarı)

  2. Bu özellik varsayılan olarak değil, serbest bırakılması varsayılan olarak etkin olması gerekir

  3. böyle dinamik inlining ve gereksiz yerel değişkenler kaldırma gibi optimizasyonlar gerçekleştirir oluşturur. Derleme zamanında karar verilebilecek her türlü optimizasyon.

3

Wikipedia, compiler optimization numaralı makalede, temel en iyileştirme türlerini kapsayan bir makaleye sahiptir.

En iyileştirilmiş hata ayıklama yapıları oluşturmak istemezsiniz. Optimizasyon kodunuzun debugabitesini etkiler - bazı kod satırları kaldırılabilir, bir fonksiyonun farklı bölümlerinden veya farklı fonksiyonlardan gelen bazı kod satırları birlikte birleştirilebilir, yerel değişkenler birlikte katlanabilir, vb. Bu, mevcut satırınızın hata ayıklanması, kodun yeniden düzenlenmesi ve yerel değişkenlerin denetlenmesinin çok yanıltıcı olabileceğinden dolayı rastgele zıplayabildiği anlamına gelir. Artık bir yerel alanın ihtiyacı artık gerekmediğinde tekrar kullanılabilir ve bir jibber sonucu verir.

İlgili konular