birinin bir işlevi kullanabileceği birçok hızlı görev için f(x,y)
, düz C'de makrolar kullanılır. Özellikle bir işlev çağrısı (yani rasgele kod kod genişletme için değil, satır içi işlevler için kullanılan makrolar) tarafından çözülebilir olan bu durumlar hakkında sormak istiyorum.
Diğer C dosyalarından bağlandıkları için genellikle C işlevleri satır içine alınmaz. Ancak, statik C işlevleri yalnızca tanımlandıkları C dosyasından görülebilir. Bu nedenle derleyiciler tarafından satır içine alınabilirler. Daha fazla kodun statik işlevlere dönüştürülerek değiştirilmesi gerektiğini duydum, çünkü bu daha güvenli bir kod üretiyor.
Bunun iyi bir fikir olmadığı durumlar var mı?
Yine: ## benzer yapılara sahip Kod Üretimi makrolarını hiç bir şekilde ifade edemeyen sorular sormamak.
inline
işlevler sadece ikili dosyada birden çok kez tanımlanabilmesini sağlar, derleyici aslında yerden tasarruf etmek için satır içi olup olmayacağına karar verebilir
inline
, bu C ++ ile ilgili değil.
inline
C'de, en azından C99'dan beri. Hızlı bir genel bakış için satıriçi işlevler hakkında Wikipedia'ya bakın .