Die Gnu C Bibliothek: Selektion nach Merkmalen
Im glibc gibt es einen Satz Selektion nach Merkmalenmakros, die verwendet werden, um vorzuwählen, dem Standards Sie glibc wünschen, um übereinzustimmen mit. Standards widersprechen manchmal und also erlaubt glibc Ihnen, genau vorzuwählen, das von den Standards (formal, de Jure und formloses, de Facto) mit denen einstellte, um einzuwilligen, völlig oder teilweise. Diese Makros werden technisch Eigenschaft Testmakros genannt. Sie müssen diese Makros berücksichtigen, weil die Rückstellung, die von den definierten Makros eingestellt wird, nicht die ganze Funktionalität von glibc liefert. Einige Einheiten sind nicht mit dem vorgewählten Rückstellung Eigenschaft Satz vorhanden; wir dokumentieren die erforderlichen Eigenschaft Makros, um jede dieser Einheiten zu benutzen. Die Eigenschaft Testmakros sind entworfen, um mit, welchen Standards (de Jure oder de Facto) und in einigen Fällen genau, denen zu spezifizieren Versionen jener Standards, glibc einwilligen sollten. Diese Befolgung schließt häufig das Definieren nicht von von Funktionen und von von Makros über ein, was hinaus durch einen Standard für Include-Dateien spezifiziert wird, die selbst durch Standard die definiert werden. Das bedeutet, daß eine Anwendung, die geschrieben wird, um sich mit einem Standard anzupassen, seine eigenen Funktionen und Makros definieren kann, ohne mit den Verlängerungen zu widersprechen, die nicht durch Standard die definiert werden. Die Eigenschaft Testmakros garantieren nicht, daß Ihre Anwendung mit dem Satz der Standards völlig kompatibel ist, die durch den Satz von Makros spezifiziert werden, die Sie definieren. Die Einstellung der Eigenschaft Testmakros kann etwas Gebrauch von nonportable Verlängerungen finden, aber es zeigt nicht z.B. Gebrauch der Include-Dateien, die durch den Standard völlig nicht spezifiziert sind. Die Makros werden in der System Include-Datei feature.h definiert, die Sie nicht direkt mit einschließen sollten. Stattdessen schließen alle weiteren Include-Dateien, die durch den Inhalt von feature.h beeinflußt werden konnten, es mit ein. Der Rückstellung Satz von Eigenschaft Makros, wenn keine definiert werden, ist _ SVID_SOURCE=1, _bsd_source=1, _posix_source=1 und _ POSIX_C_SOURCE=199506L. Jede Wahl wird ausführlicher unten beschrieben, aber diese übersetzt im Wesentlichen in "Unterstützung die Fähigkeiten des 1995 POSIX Standards, alle Standardsystem V Eigenschaften und alle Bd Eigenschaften, die widersprechen nicht mit System V Eigenschaften." Dieser Rückstellung Satz Eigenschaft Makros genügt für die meisten Programme. Wenn Sie GCC geben - ANSI Wahl, definiert sie automatisch das interne __ STRICT_ANSI __ Makro, das alle Rückstellung Eigenschaft Makros abstellt. Mit Ausnahme von dem __ STRICT_ANSI __ Makro das speziell ist (und das nur durch den Compiler im Kontext von eingestellt werden sollte - ANSI Befehl Linie Wahl), sind diese Eigenschaft Makros kumulativ; Sie können jede mögliche Kombination von ihnen definieren. Die genaue Definition von _ BSD_SOURCE ändert abhängig von, welchem andere Eigenschaft Makros eingestellt werden (wie unten dokumentiert); der Rest sind lediglich kumulativ. Einige der Eigenschaft Testmakros werden durch verschiedene Versionen von POSIX oder von anderen Standards definiert, sind einige in der Industrie allgemein, und andere werden ausschließlich auf glibc begrenzt.
Wenn der Standardsatz von Eigenschaft Testmakros nicht genügt, sind die am allgemeinsten nützlichen zu definieren Eigenschaft Makros _ GNU_SOURCE (Umdrehung alles auf—der einfachsten Lösung), _ XOPEN_SOURCE=600 (die meisten Sachen sind Sie wahrscheinlich, sich ungefähr zu interessieren, eine Teilmenge _ GNU_SOURCE) oder _ ISOC99_SOURCE (Gebraucheigenschaften vom neuesten C Standard, von einer Teilmenge _ XOPEN_SOURCE=600). dieses ist ein Artikel, der von Humberto Mitchson
hinzugefügt wird
|
|||||||||||||||||||||
|