Makro ve Satır İçi İşlev Arasındaki Fark

Temel Fark - Macro vs Inline fonksiyon
 

Makro, bir önişlemci yönergesi olan bir kod parçasıdır. Satır içi işlev, bir programın yürütme süresini en aza indiren bir C ++ geliştirme özelliğidir. bu yüzden temel fark Makro ve Satır İçi İşlev arasında derleyici tarafından bir satır içi işlevi denetlenirken bir makro önişlemci tarafından denetlenir.

Bir makro, programın başına bir karma işareti ile eklenir. Programda makro adı olduğunda, bunun yerine makro içeriği.

İÇİNDEKİLER

1. Genel Bakış ve Temel Fark
2. Makro nedir
3. Satır İçi İşlev nedir
4. Yan Yana Karşılaştırma - Tablo Şeklinde Makro ve Satır İçi İşlev
5. Özet

Makro nedir?

Önişlemci kaynak kodunu derleyiciden geçmeden önce işleyen bir programdır. Önişlemci komut satırı veya yönergeleri kullanılarak çalışır. Programda, önişlemci direktifleri ana programdan önce kaynak programa yerleştirilir. Kaynak kodu derleyiciden geçmeden önce önişlemci yönergeleri için önişlemci tarafından denetlenir. Önişlemci yönergeleri # simgesine sahiptir. Diğer ifadelerden farklı olarak, noktalı virgülle bitmezler. Bir tür önişlemci yönergesi makrodur. Genellikle, makrolar büyük harflerle yazılır.

Şekil 01: Makrolu C ++ Programı

Yukarıdaki programa göre, satır 3 ve satır 4 makroları gösterir. Alanı hesaplarken, PI değeri tanımlanan makro kullanılarak değiştirilir. 14 numaralı satırda, volume = CUBE (değer), önişlemci ifadeyi volume = (value * value * value) olarak genişletir. Küpü bulmak bir işlev olarak yazılabilir, ancak burada bir makro kullanılarak yazılır. Volume = CUBE (x + y) olarak bir ifade varsa, hacim = (x + y * x + y * x + y) olarak genişler..

Bazı programlama simgeleri kolayca yanlış yazılabilir. Makrolar kullanılarak değiştirilebilirler. Örneğin. #define AND &&, #define VEYA ||. Makro tanımı, #define AREA 4 * 5.56 gibi ifadeler de içerebilir..

Satır İçi İşlev nedir?

Bir işlev çağrıldığında, derleyicinin çalışması biraz zaman alır. İşlev çok karmaşık değilse, programcı işlevi satır içi bir işleve dönüştürebilir. Aşağıdaki programa bakın.

Figure 02: Satır İçi Olmayan İşlev

Print_hello basit bir işlevdir. İşlev çağrıldığında “Merhaba” dizesini yazdırır. Bu işlevin yürütme süresi 0.187 saniyedir. Satır içi anahtar kelimeyi aşağıdaki gibi kullanırken yürütme süresi 0,064 saniyeye düşer.

Şekil 03: Satır İçi İşlev

Bu nedenle, satır içi anahtar kelimeyi kullanarak yürütme süresi kısalır. Döngüler, anahtar ifadeleri ve işlev statik değişkenler veya özyinelemeli işlevler içeriyorsa, satır içi işlevler çalışmayabilir.

Makro ve Satır İçi İşlev Arasındaki Fark Nedir??

Makro ve Satır İçi İşlev

Makro, programın başında bir karma işareti ile gelen bir önişlemci yönergesi olan bir kod parçasıdır.. Satır içi işlev, bir programın yürütme süresini en aza indiren bir C ++ geliştirme özelliğidir.
Değerlendirme Zamanı
Makroda, argüman programda her kullanıldığında değerlendirilir. Satır içi olarak, argüman bir kez değerlendirilir.
Tarafından kontrol edilmiş
Bir makro önişlemci tarafından kontrol edilir. Bir satır içi işlev derleyici tarafından kontrol edilir.
 Kelime
Marco #define kullanıyor. Satır içi işlevi, 'satır içi' anahtar kelimesini kullanır.
kullanım
Makro sabitleri, ifadeleri, değişmez metin ikamesi ve işlevleri tanımlamak için kullanılabilir.. Bir satır içi işlev, programın yürütme süresini en aza indirmek için kullanılabilir.
Sonlandırma
Makro yeni satırla sona erer. Satır içi işlev, satır içi işlevinin sonunda bulunan süslü ayraçla sona erer.
Tanımlama Noktası
Marco, programın başında tanımlanır. Satır içi bir işlev sınıfın içinde veya dışında olabilir.

özet - annecro vs Inline fonksiyon

Bu makalede Makro ve Satır İçi İşlev arasındaki fark tartışıldı. Bu kavramlar C ++ programlamasında kullanılır. Makro ve Satır İçi İşlevi arasındaki fark, bir makro ön işlemci tarafından kontrol edilirken, satır içi bir işlev derleyici tarafından kontrol edilir.

Referans:

1. “Önişlemci Yönergeleri.” Cplusplus.com. Burada mevcut 
2. “C Satır İçi İşlevleri.” Www.tutorialspoint.com, Tutorials Point, 19 Mart 2018. Buradan ulaşabilirsiniz