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, doubleve 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 , fabsfveya fabsfabsl değeri geçirip floatgeçirmediğinize bağlı olarak , doubleveya çağırabilirsinizlong double. Karmaşık mutlak değeri almak için , veya sırasıyla bir , cabsfcabscabsl ve float karmaşık değeri geçirip doublegeç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.