<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Host-byte-order zur Compilezeit bestimmen?]]></title><description><![CDATA[<p>Nochmal zur Big-/Little-Endian Problematik (Host byte order):<br />
Is ja kein Problem das mit C++ zur Laufzeit zu bestimmen, aber hat eventuell jemand ne schlaue Idee um das zur Compile-Zeit zu bestimmen? Also z.B. was mit Templates?<br />
(Deshalb frag ich im C++ Forum)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/141889/host-byte-order-zur-compilezeit-bestimmen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 16:14:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/141889.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 26 Mar 2006 08:29:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Host-byte-order zur Compilezeit bestimmen? on Sun, 26 Mar 2006 08:29:18 GMT]]></title><description><![CDATA[<p>Nochmal zur Big-/Little-Endian Problematik (Host byte order):<br />
Is ja kein Problem das mit C++ zur Laufzeit zu bestimmen, aber hat eventuell jemand ne schlaue Idee um das zur Compile-Zeit zu bestimmen? Also z.B. was mit Templates?<br />
(Deshalb frag ich im C++ Forum)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1024013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1024013</guid><dc:creator><![CDATA[scrontch]]></dc:creator><pubDate>Sun, 26 Mar 2006 08:29:18 GMT</pubDate></item><item><title><![CDATA[Reply to Host-byte-order zur Compilezeit bestimmen? on Sun, 26 Mar 2006 12:34:26 GMT]]></title><description><![CDATA[<blockquote>
<p>Is ja kein Problem das mit C++ zur Laufzeit zu bestimmen, aber hat eventuell jemand ne schlaue Idee um das zur Compile-Zeit zu bestimmen?</p>
</blockquote>
<p>Also erstmal gibt es für Integer Typen die größer als 2 Byte sind mehr als zwei mögliche Byte-Ordnungen. Insofern ist die Frage &quot;little- oder big-endian?&quot; zu schwach gestellt. Zumindest wenn es um Portabilität geht. Und selbst wenn man sich nur auf little- und big-endian beschränkt, gibt es ja auch Cross-Compiler, die problemlos Code für beide Ordnungen erzeugen können.</p>
<p>Nach dem was ich bisher so gelesen habe gibt es keine Möglichkeit die genaue Byte-Ordnung mittels eines Templates zur Compilezeit zu bestimmen. Der Grund: Endianness definiert wie ein Integer Typ im Speicher abgelegt wird. Demzufolge erfordert ein Test auf Endianness einen Speicherzugriff - also eine Dereferenzierung. Ein Ausdruck, der eine Dereferenzierung enthält ist aber kein Compilezeit-Ausdruck.</p>
<p>Für Fälle wo man wirklich Endian-abhängigen Code schreiben muss ist es wohl besser sich auf Build-Tools wie z.B. autoconf zu verlassen. Die können problemlos die auf der Maschine verwendete Byte-Ordnung herausfinden und dann ein entsprechendes Makro definieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1024114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1024114</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Sun, 26 Mar 2006 12:34:26 GMT</pubDate></item></channel></rss>