<?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[Inlinen]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich experimentiere gerade mit Inlining. Gibt es für den GCC eine Option, den Code _nach_ dem Inlining nochmal auszugeben? Oder passiert das ohnehin nur auf Assembler-Ebene? Mich interessiert, wie der Compiler vorgeht, wenn man schreibt:</p>
<pre><code class="language-cpp">inline void someFunc()
{
  d
  e
  f
  g
}

void algo1()
{
  someFunc();
  someFunc();
  someFunc();
}
</code></pre>
<p>Falls der Compiler die Inline-Empfehlung annimmt, dupliziert er dann stur den Code, also so:</p>
<pre><code class="language-cpp">void algo1()
{
d
e
f
g
d
e
f
g
d
e
f
g
}
</code></pre>
<p>...oder versucht er, den Maschinencode mit einer Schleife kurz zu halten? Falls ja, kann er das dann auch für mehrfache Aufrufe aus einer Funktion, wo dazwischen noch andere Dinge passieren?</p>
<pre><code class="language-cpp">void algo1()
{
  someFunc();
  a
  b
  someFunc();
  c
  someFunc();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/280026/inlinen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 07:09:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/280026.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Jan 2011 21:16:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Inlinen on Fri, 07 Jan 2011 21:16:03 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich experimentiere gerade mit Inlining. Gibt es für den GCC eine Option, den Code _nach_ dem Inlining nochmal auszugeben? Oder passiert das ohnehin nur auf Assembler-Ebene? Mich interessiert, wie der Compiler vorgeht, wenn man schreibt:</p>
<pre><code class="language-cpp">inline void someFunc()
{
  d
  e
  f
  g
}

void algo1()
{
  someFunc();
  someFunc();
  someFunc();
}
</code></pre>
<p>Falls der Compiler die Inline-Empfehlung annimmt, dupliziert er dann stur den Code, also so:</p>
<pre><code class="language-cpp">void algo1()
{
d
e
f
g
d
e
f
g
d
e
f
g
}
</code></pre>
<p>...oder versucht er, den Maschinencode mit einer Schleife kurz zu halten? Falls ja, kann er das dann auch für mehrfache Aufrufe aus einer Funktion, wo dazwischen noch andere Dinge passieren?</p>
<pre><code class="language-cpp">void algo1()
{
  someFunc();
  a
  b
  someFunc();
  c
  someFunc();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2003937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003937</guid><dc:creator><![CDATA[inliner]]></dc:creator><pubDate>Fri, 07 Jan 2011 21:16:03 GMT</pubDate></item><item><title><![CDATA[Reply to Inlinen on Fri, 07 Jan 2011 21:19:22 GMT]]></title><description><![CDATA[<p>inliner schrieb:</p>
<blockquote>
<p>Oder passiert das ohnehin nur auf Assembler-Ebene?</p>
</blockquote>
<p>Assembler-Ebene.</p>
<p>Schleifen werden tendenziell eher abgerollt, sofern möglich und nicht zu viele Iterationen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003939</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 07 Jan 2011 21:19:22 GMT</pubDate></item><item><title><![CDATA[Reply to Inlinen on Fri, 07 Jan 2011 21:45:19 GMT]]></title><description><![CDATA[<p>Ev. hilft Dir der FAQ Eintrag noch ein wenig:<br />
<a href="http://www.c-plusplus.net/forum/105893" rel="nofollow">http://www.c-plusplus.net/forum/105893</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003952</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 07 Jan 2011 21:45:19 GMT</pubDate></item><item><title><![CDATA[Reply to Inlinen on Fri, 07 Jan 2011 22:15:59 GMT]]></title><description><![CDATA[<p>Danke, das hilft mir schon mal.</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003971</guid><dc:creator><![CDATA[inliner]]></dc:creator><pubDate>Fri, 07 Jan 2011 22:15:59 GMT</pubDate></item></channel></rss>