/Ob (Satır İçi İşlev Genişletmesi)
İşlevlerin satır içi genişlemesini denetler. Varsayılan olarak, iyileştirme sırasında genişletme, derleyicinin takdirine bağlı olarak tüm işlevlerde gerçekleşir ve bu genellikle otomatik inlining olarak adlandırılır.
Sözdizimi
/Ob{0|1|2|3}
/Ob{0|1|2}
Bağımsız değişkenler
0
/Od altındaki varsayılan değer. Satır içi genişletmeleri devre dışı bırakır.
1
Yalnızca satır içi, __inline veya __forceinline ya da bir sınıf bildiriminde tanımlanan C++ üye işlevinde işaretlenmiş işlevlerin genişletilmesine izin verir.
2
/O1 ve /O2 altındaki varsayılan değer. Derleyicinin, hiçbir iç çizgi için açıkça işaretlenmemiş herhangi bir işlevi genişletmesine izin verir.
3
Bu seçenek /Ob2'den daha agresif bir satır içi belirtir, ancak aynı kısıtlamalara sahiptir. /Ob3 seçeneği Visual Studio 2019'dan itibaren kullanılabilir.
Açıklamalar
Derleyici, satır içi genişleme seçeneklerine ve anahtar sözcüklerine öneri olarak davranır. Herhangi bir işlevin satır içinde genişletileceğinin garantisi yoktur. Satır içi genişletmeleri devre dışı bırakabilirsiniz, ancak anahtar sözcüğünü kullanırken bile derleyiciyi belirli bir işlevi satır içi olarak satır içi olarak çizmeye __forceinline
zorlayamazsınız.
İşlevleri satır içi genişletme adayı olarak dikkate alınmadan dışlamak için, __declspec(noinline) veya #pragma auto_inline(kapalı) ve #pragma auto_inline(on) yönergeleriyle işaretlenmiş bir bölgeyi kullanabilirsiniz. Derleyiciye iç ipuçları sağlamanın başka bir yolu hakkında daha fazla bilgi için #pragma iç yönergesine bakın.
Not
Profil oluşturma test çalıştırmalarından toplanan bilgiler, /Ob, /Os veya /Ot belirttiğiniz için geçerli olabilecek iyileştirmeleri geçersiz kılar. Daha fazla bilgi için bkz . Profil Destekli İyileştirmeler.
Bu derleyici seçeneğini Visual Studio geliştirme ortamında ayarlamak için
Projenin Özellik Sayfaları iletişim kutusunu açın. Ayrıntılar için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.
Yapılandırma Özellikleri>C/C++>İyileştirme özellik sayfasını seçin.
Satır içi İşlev Genişletme özelliğini değiştirin.
Satır içi İşlev Genişletme özelliğinde /Ob3 seçeneği kullanılamaz. /Ob3'i ayarlamak için:
Projenin Özellik Sayfaları iletişim kutusunu açın. Ayrıntılar için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.
Yapılandırma Özellikleri>C/C++>Komut Satırı özellik sayfasını seçin.
Ek Seçenekler'e /Ob3 girin.
Bu derleyici seçeneğini program üzerinden ayarlamak için
- Bkz. InlineFunctionExpansion.
Ayrıca bkz.
/O Seçenekler (Kodu İyileştir)
MSVC Derleyicisi Seçenekleri
MSVC Derleyicisi Komut Satırı Söz Dizimi