gcc/g ++ kullanarak herhangi bir optimizasyon yapmadan bir C programını nasıl derleyebilirim?Herhangi bir optimizasyon olmadan C programını nasıl derleriz
cevap
gcc main.c
veya herhangi bir iyileştirme yapmaz varsayılan olarak
g++ main.cpp
. Sadece -O1, -O2, -O3, etc...
'u belirttiğinizde optimizasyon yapar.
Veya bunu yapmak için -O0
anahtarını kullanabilirsiniz.
-O
bayrağıyla sormadığınız sürece herhangi bir en iyileştirme yapamazsınız. Yapı sisteminiz tarafından sağlanan bazı varsayılanları geri almanız gerekiyorsa, -O0
bunu sizin için yapar, komut satırında son -O
bayrağı olduğu sürece. gcc kullanarak
, bayrak geçmesi: -O 0
derleyici anahtarı O0 kullanın.
En yakını, -O0 kullanımı, diğer yanıtlardan farklı olarak, sıfır en iyi duruma getirme anlamına gelmez.
$ gcc -Q -O0 --help=optimizers | grep enabled | wc -l
52
$ gcc -Q -O1 --help=optimizers | grep enabled | wc -l
80
$ gcc -Q -O2 --help=optimizers | grep enabled | wc -l
110
$ gcc -Q -O3 --help=optimizers | grep enabled | wc -l
119
Yani O0 de, etkin 52 optimizasyonlar vardır: Böyle farklı gcc optimizasyon seviyeleri için etkin optimizasyonlar sayısını (bu gcc 4.8.2 olduğunu) sayabiliriz. Sanırım biri onları tek tek kapatabilirdi, ama bunu hiç görmedim. Sıfır optimizasyonlar umut verici değil
-O0 Reduce compilation time and make debugging produce the expected results. This is the default.
: gcc adam sayfanın mesajı
Not.
Ben bir gcc geliştiricisi değilim, ama -00 optimizasyonlarının artık standartlar olmaktan ziyade optimizasyon olarak adlandırılabilecek kadar standart olduklarını söyleyebilirler. Eğer bu doğruysa, biraz kafa karıştırıcıdır, çünkü gcc hala optimizer listesine sahiptir. Ayrıca tarihi yeterince iyi bilmiyorum: belki de önceki bir sürüm için -00 gerçekten sıfır optimizasyonları anlamına geldi ...
- 1. Bir C kodu, optimizasyon ile/optimizasyon olmadan düşüyor ve derleniyor?
- 2. Bir normal ifadeyi nasıl derleriz?
- 3. bu VBA programını yineleme olmadan nasıl yazılır
- 4. Emacs olmadan elisp programını çalıştırın?
- 5. Çekirdek kodunu C'de nasıl derleriz?
- 6. Mongodb-c-driver programını nasıl derleyebilirim?
- 7. R'nin "optimizasyon" işlevi C++ ile nasıl uygulanır?
- 8. Atom editöründe bir Java programını nasıl çalıştırabilirim?
- 9. C programını birden çok dosyaya nasıl bölersiniz?
- 10. Windows XP'de C++ programını derleme
- 11. Bir py2exe programını terminalsiz pencerelerde nasıl çalıştırabilirim?
- 12. Bir Go programını nasıl derleyebilirim?
- 13. C++ kısıtlı sıralı doğrusal olmayan optimizasyon kitaplıkları
- 14. C#: Harici konsol programını gizli olarak çalıştır
- 15. Linux dosyalarını yedeklemek için bir C programını çalıştırma
- 16. Linux'ta bir C++ Programını Hata Ayıklamak için Eclipse'i Nasıl Kullanırım?
- 17. XCode 4'te bir C++ programını nasıl çalıştırırım?
- 18. Kısıtlamalarla Optimizasyon
- 19. underscorejs'deki optimizasyon nasıl çalışır?
- 20. F # uyarısı olmadan herhangi bir özel durum (System.Exception) nasıl yakalanır?
- 21. Bir UIImage'ı herhangi bir pürüzsüzleştirme olmadan nasıl ölçeklendirirsiniz?
- 22. Dart programını nasıl "uyuyabilirim"
- 23. Voxel Motor ve Optimizasyon
- 24. Linux'ta bir python programını uzaktan nasıl güncelleyebilirim?
- 25. VBA'dan python programını nasıl arayabilirim?
- 26. Bir prototip olmadan C fonksiyonları nasıl bulunur?
- 27. Bir C++ programını çalıştırmak ve test etmek için python kullanma
- 28. C programını 32 bit koduna dönüştürme
- 29. Bir toplu iş programını sürdürme
- 30. Netduino'da kullanım için bir Arduino programını .net'e nasıl yükleyebilirim?
Derhal bir derleyici anahtar aramıyorsanız şansınızı ilan etmek isteyebilirsiniz. değişken (ler). – user786653
Neden onları kapatılmasını istiyorsunuz? Optimizasyonlar 1) etkin, ve 2) size sorunlara neden olduğuna inanmak için bir nedeniniz var mı? Bir optimizasyonun doğru yazılmış kodla sorunlara neden olması nadirdir. Bununla birlikte, hata ayıklama için -gg0 ile birlikte -O0 kullanımı genellikle yararlıdır. –