' __GÜZEL_FONKSİYON__, __arasındaki fark ne İŞLEV__, __işlev__?
, *, *3__PRETTY_FUNCTION__
__FUNCTION__
, arasındaki fark nedir ve nerede belgelenmiştir? Nasıl kullanmak için hangi karar?
CEVAP
__func__
karakter dizisi değişkeni bir fonksiyon içinde kullanıldığında işlev adını içeren genişleten örtülü olarak bildirilen bir tanımlayıcı. C99 C eklenmiştir. C99 §6.4.2.2/1: gelen
Tanımlayıcı
__func__
örtülü olarak çevirmen tarafından ilan edilir, açılışı takip hemen her fonksiyon tanımı brace, Bildirgesistatic const char __func__[] = "function-name";
-fonksiyon adı nereden çıktı, lexically kapsayan işlev adıdır. Bu adı işlevi süssüz adıdır.
Bir makro değil ve önişleme sırasında özel bir anlamı olduğunu unutmayın.
__func__
C içeren olarak belirtilen yerde 11, C eklendi "uygulama tanımlı bir dize" (C 11 §8.4.1[malzeme.fct.def.genel] 8/), C. belirtimi (C __func__
eklemek için orijinal önerisi N1642) kadar kullanışlı değildir.
__FUNCTION__
ön standart uzantısı bazı C derleyicileri desteği (dahil gcc ve C ); genel olarak kullanmalısın __func__
nerede desteklenen ve tek kullanım __FUNCTION__
kullanıyorsanız, derleyici bunu desteklemiyor (örneğin, Visual C , desteklemiyor C99 ve henüz destek tüm C 0 x sağlamaz __func__
).
__PRETTY_FUNCTION__
çoğunlukla C fonksiyonları için "fonksiyonun adı fonksiyonun imza da dahil olmak üzere." güzel içerdiğini hariç __FUNCTION__
, aynı gcc uzantısıdır Visual C (ama oldukça aynı değil) benzer bir uzantısı, __FUNCSIG__
vardır.
Standart olmayan makroları için, derleyici belgelerine bakın isteyeceksiniz. Uzantıları C compiler TechNet belgelerinde bulunan Görsel C "Predefined Macros". Gcc belgeleri uzantıları gcc belge sayfası "Function Names as Strings." açıklanmıştır
' __yerleşik__ __arasındaki fark ...
__init__ __arasındaki fark python__ de...
'JPA arasındaki fark ne ve Hazırd...
R, arasındaki fark nedir? [] [[]] list...
Ui-bootstrap-tpls.min.js ve ui-bootstr...