|
Çarşamba, 11 Haziran 2008 |
!!!This content has not been translated yet!!! hepimizin bildiği gibi gcc pek çok parametre alabiliyor ve bu parametrelere göre oluşan sonuç çok farklılık gösterebiliyor.
bu parametrelerden belki de en önemlisi optimizasyon için kullanılan -O parametresi.
-O0
optimize etme. bu varsayılan ayardır. yani herhangi bir -O parametresi verilmezse -O0 kabul edilir.
-O ya da -O1
optimize et. bu durumda derleyici çok fazla zaman almayan optimizasyon işlemleri uygulayarak hem kod boyutunu, hem de çalışma zamanını optimize etmeye çalışır.
-O2
daha fazla optimize et. derleyici, boyut-hız trade-off'u olmayan bütün optimizasyonları gerçekleştirir. -O ile kıyaslandığında daha performanslı kod üretir.
-O3
daha da fazla optimize et. bu seçenek genelde -O2 den daha hızlı fakat boyut olarak daha büyük kod üretir.
-Os
boyut için optimize et. kod boyutunu artırmayan -O2 optimizasyonlarının yanında kod boyutunu azaltmak için tasarlanmış bazı optimizasyonlar da uygulanır.
bunun dışında bir de -D parametresinden bahsetmek istiyorum. bu parametre ile macro tanımlaması yapılabilir. örneğin -Ddeger şeklinde bir kullanım
#define deger 1
önişlemci komutuna karşılık gelir. -Dmymacro=... kullanımı ile de herhangi bir macro tanımı bu parametre aracılığı ile yapılabilir. Bu parametrenin en güzel kullanımı debug için kullandığınız printf() satırlarını
#ifdef DEBUG
printf("...");
#endif
şeklinde yazmak ve -DDEBUG parametresini kullanmak olabilir. böylelikle -DDEBUG parametresi kullanılmadığı zamanlar kodun bu kısmı derlenmemiş olur. |