{"id":86,"date":"2008-07-16T20:35:41","date_gmt":"2008-07-16T19:35:41","guid":{"rendered":"http:\/\/www.instruyete.org\/?p=86"},"modified":"2008-07-16T20:35:41","modified_gmt":"2008-07-16T19:35:41","slug":"floating-point-konstanten-und-praprozessor-makros","status":"publish","type":"post","link":"https:\/\/www.instruyete.org\/?p=86","title":{"rendered":"Floating Point Konstanten und Pr\u00e4prozessor Makros"},"content":{"rendered":"<p>Einige wichtige Konstanten bei C Floating-Point Operationen ben\u00f6tigen Konstanten die laut ISO-C Standard in der header Datei &#8222;float.h&#8220; definiert werden, bspw. die Anzahl der signifikanten Nachkommastellen. In der Compilerspezifischen Datei <strong>\/usr\/lib\/gcc\/i586-suse-linux\/4.1.2\/include\/float.h<\/strong><br \/>\nfinde ich aber nur:<\/p>\n<p><code>#undef FLT_DIG<br \/>\n#define FLT_DIG         __FLT_DIG__<\/code><\/p>\n<p>Die vor- und nachgestellten doppelten Unterstriche, lassen auf eine Pr\u00e4prozessor Makro schliessen, welches an dieser Stelle verwendet wird. Man muss nur erstmal herausbekommen, wo bei der GCC diese Makros definiert sind. Die schnellste M\u00f6glichkeit ist es eine einfache C Datei mit speziellen Optionen zu kompilieren.<br \/>\n<code><br \/>\ngcc -E -dM -x c test.c<\/code><\/p>\n<p>Dann werden aber auch alle Makros aufgelistet, die durch includes in den Verarbeitungsschritt gelangten. Daher ist eine Art Dummy Anweisung besser, die dazu f\u00fchrt, dass nur noch Pr\u00e4prozessor Makros aufgelistet werden.<br \/>\n<code><br \/>\ngcc -E -dM -x c &lt;(true)<\/code><\/p>\n<p>-E  : stoppt nach dem Preprozessing &#8211; sendet den preprozessierten Code to stdout<br \/>\n-dM : dumped nach der Maschinenabh\u00e4ngigen Reorganisierung in file.35.mach<br \/>\n-x  : spezifiziert die Sprache (hier:C)<\/p>\n<p>Die Anregung dazu gab ein <a href=\"http:\/\/mathias-kettner.de\/lw_gcc_praeprozessor_defines.html\" title=\"GCC Pr\u00e4prozessor\">Artikel auf den Webseiten von Matthias Kettner<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Einige wichtige Konstanten bei C Floating-Point Operationen ben\u00f6tigen Konstanten die laut ISO-C Standard in der header Datei &#8222;float.h&#8220; definiert werden, bspw. die Anzahl der signifikanten Nachkommastellen. In der Compilerspezifischen Datei \/usr\/lib\/gcc\/i586-suse-linux\/4.1.2\/include\/float.h finde ich aber nur: #undef FLT_DIG #define FLT_DIG __FLT_DIG__ Die vor- und nachgestellten doppelten Unterstriche, lassen auf eine Pr\u00e4prozessor Makro schliessen, welches an dieser &hellip; <a href=\"https:\/\/www.instruyete.org\/?p=86\" class=\"more-link\"><span class=\"screen-reader-text\">Floating Point Konstanten und Pr\u00e4prozessor Makros<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-86","post","type-post","status-publish","format-standard","hentry","category-unix"],"_links":{"self":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/86","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=86"}],"version-history":[{"count":0,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/86\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=86"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=86"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=86"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}