, bu seçeneğin kullanılması güvenlidir? Ne için kullanılır? -fomit-frame-pointer, kullanmak güvenli mi?
seni çok, saygılar ederiz.
6
C/C++ kod derleme yaparken insanlar genellikle seçeneği kullanıp acaba birçok yerde gördüğüm
A
cevap
11
seçenek güvenlidir ama hata ayıklama zorlaştırır. Normal olarak, C derleyici, işlev için yığın çerçevesine bir işaretçiyi (x86 üzerinde ebp
) saklayan kodu çıkarır. Hata ayıklayıcılar, yerel değişken içerikleri ve diğer bu tür bilgileri yazdırmak için bunu kullanır. bayrak, gcc'ye bu kayıt ile uğraşmaması gerektiğini bildirir. Bazı durumlarda, bu durum, çoğunlukla daha az kod izi (önbellek için daha iyi) ve ekstra kullanılabilir yazmaç (özellikle 32-bit kipte, özellikle de kayıtlarda açlıktan yoksun olan x86'da) nedeniyle küçük bir performans artışı sağlayabilir. (Eğer biliyorsanız) bahsettiğin gibi
2
kodunuzu tanımsız davranış dayanmaz sürece, o zaman tamamen güvenli. Tanımsız davranış hatalarının ortaya çıkmasına neden olabilir.
İlgili konular
- 1. window.screen'i kullanmak güvenli mi?
- 2. UUID "URL güvenli" mi?
- 3. Singleton kullanmak güvenli midir? ExecutorService
- 4. Bir servlet içinde java.util.Timer kullanmak güvenli midir?
- 5. ndb görevinin içinde images.get_serving_url_async() kullanmak güvenli midir?
- 6. javax.xml.ws.Service nesnelerini yeniden kullanmak güvenli midir?
- 7. SQLalchemy'ı gevent ile kullanmak güvenli midir?
- 8. STM aktarımı içinde izleme kullanmak güvenli midir?
- 9. Bir amacı yeniden kullanmak güvenli midir?
- 10. Unicode karakterlerle password_hash kullanmak güvenli midir?
- 11. JMS QueueSender iş parçacığı güvenli mi?
- 12. (int) ve is_int() güvenli mi?
- 13. WCF'nin DataContractSerilaizer parçacığı güvenli mi?
- 14. RNGCryptoServiceProvider.GetBytes iş parçacığı güvenli mi?
- 15. java.lang.reflect.Method iş parçacığı güvenli mi?
- 16. ACAccount iş parçacığı güvenli mi?
- 17. node.js içinde console.time() güvenli mi?
- 18. HttpContext.Current.Cache iş parçacığı güvenli mi?
- 19. WCF ClientBase iş parçacığı güvenli mi?
- 20. Boto kitaplığı iş parçacığı güvenli mi?
- 21. 64-bit Python'da sys.platform == 'win32' kontrolünü kullanmak güvenli midir?
- 22. Forever.js'i OpenShift'de kullanmak gerekli mi?
- 23. Swift'de 'zayıf' kullanmak gerekli mi?
- 24. Vector.emplace_back'i kullanmak için güvenli (yeni MyPointer); Vektör içindeki arıza sızdıran belleğe neden olabilir mi?
- 25. Bloklardaki değerleri değiştirmek için işaretçiler kullanmak güvenli midir?
- 26. Stil içindeki kimliklerin tanımlanması güvenli mi yoksa bir felaket mi?
- 27. Netty Channel.write iş parçacığı güvenli mi?
- 28. Bu Core Graphics kod parçacığı güvenli mi?
- 29. Linux'ta gettimeofday işlevi iş parçacığı güvenli mi?
- 30. Django Rest Framework iş parçacığı güvenli mi?
@Thomas Eğer kayıt detayları hakkında bazı bağlantılar sağlayabilir. – Adil
Özellikle işlemci mimarileri için http://refspecs.freestandards.org/elf/, özellikle "Application Binary Interface" belgelerine bakın. I386 için ABI'da, standart yığın çerçeve formatı (ebp'nin kullanımı ile) sayfa 36'da açıklanmıştır. ELF formatı, birçok "modern" Unix benzeri sistem (ör. Linux ve FreeBSD) için ortaktır. Windows sistemlerinde, işler biraz farklıdır ancak aynı prensipleri kullanırlar. –