Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ISO C Standard 11 (C11) ve üzeri için, <tgmath.h>
ve <math.h>
eklemeye <complex.h>
ek olarak üst bilgi, parametrelerin türlerine göre karşılık gelen matematik işlevini çağıran makrolar sağlar.
C çalışma zamanı kitaplığı matematik işlevleri gerçek ve karmaşık çeşitlemelerle gelir. Bağımsız değişkenin türüne bağlı olarak her değişken üç çeşit halinde gelir: float
, double
ve long double
. C, C++ gibi aşırı yüklemeyi desteklemediğinden, her değişkenin farklı bir adı vardır. Örneğin, gerçek bir kayan nokta değerinin mutlak değerini almak için, sırasıyla bir , fabsf
veya fabs
fabsl
değeri geçirip float
geçirmediğinize bağlı olarak , double
veya çağırabilirsinizlong double
. Karmaşık mutlak değeri almak için , veya sırasıyla bir , cabsf
cabs
cabsl
ve float
karmaşık değeri geçirip double
geçirmediğinize bağlı olarak birini çağırırsınız.long double
Bağımsız değişkenler yukarıda belirtilen türlerden herhangi biriyle eşleşmiyorsa, işlev bağımsız değişkenler çiftmiş gibi seçilir.
<tgmath.h>
, çağrılacak doğru matematik işlevinin seçimini basitleştiren makrolar içerir. Makrolar geçirildikleri türü inceler ve doğru işlevi çağırır. Örneğin, sqrt
makro öğesine sqrt(9.9f)
bağlanırsqrtf()
, ancak öğesine sqrt(9.9)
bağlanırsqrt()
. Genel parametre için en az bir makro bağımsız değişkeni karmaşıksa, makro karmaşık bir işleve bağlanır; aksi takdirde, gerçek bir işlev çağırır.
içindeki <tgmath.h>
tür genel makroları, bağımsız değişkenin türüne bağlı olarak farklı işlev adları atamayı veya seçmeyi yönetmenize gerek olmadığından daha fazla taşınabilir kod yazmanıza olanak tanır.
Bu makrolar kendi üst bilgilerindedir, böylece üst bilgi kullanılarak <math.h>
yazılan programlar bozulmaz. Bu nedenle double x = sin(42);
math.h.'<i dahil >ettiğinizde her zaman olduğu gibi davranır. Yine de, veya yerine üst bilgi eklendiğinde <tgmath.h>
mevcut C programlarının <math.h>
<complex.h>
çoğunun etkilenmemesi beklenir.
Aşağıdaki tabloda, içinde <tgmath.h>
kullanılabilen makrolar ve bunların genişletilmesi listelenir.
modf
, tür çözümlemesini karmaşık hale getirmeden nasıl güvenli hale getirildiği açık olmadığından ilgili tür genel makrosunda olmadığından bu tabloya dahil değildir.
Gereksinimler
ile derleyin /std:c11
.
Windows SDK 10.0.20348.0 (sürüm 2104) veya üzeri. En son SDK'yı indirmek için bkz. Windows SDK' sı. C11 ve C17 geliştirmesi için SDK'yı yükleme ve kullanma yönergeleri için bkz . Visual Studio'da C11 ve C17 desteğini yükleme.