<?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[Eigene standardbibliothek implementieren ?]]></title><description><![CDATA[<p>Hoi,<br />
arbeite mit gcc unter linux.</p>
<p>Gibt es eine möglichgeit, einem programm via <code>#include &lt;iostream&gt;</code> eine andere standardbibliothek anzugeben? Okay das ist recht einfach, aber:</p>
<p>Wenn ich meine programme als shared library compiliere, die standardbibliothek da aber nicht mit reincompiliere, sondern von meinem loader zur verfügung gestellt wird,... hä?</p>
<p>Ich werde natürlich nicht die gesamte standardbibliothek reimplementieren. Bitte sagt mir auch, man könne das anders einfacher machen. Ist ja schließlich mein projekt.</p>
<p>EDIT: Zwei programteile: Eine shared-library, eine ausführbare datei. Die ausführbare datei (&quot;loader&quot;) hat die standadbibliotheksimplementierung, die shared-library benutzt diese, soll aber immer die des loaders benutzen. Die implementiereung kann abweichen, die benutzung aber nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/290627/eigene-standardbibliothek-implementieren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 07:14:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/290627.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 30 Jul 2011 16:07:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sat, 30 Jul 2011 16:17:28 GMT]]></title><description><![CDATA[<p>Hoi,<br />
arbeite mit gcc unter linux.</p>
<p>Gibt es eine möglichgeit, einem programm via <code>#include &lt;iostream&gt;</code> eine andere standardbibliothek anzugeben? Okay das ist recht einfach, aber:</p>
<p>Wenn ich meine programme als shared library compiliere, die standardbibliothek da aber nicht mit reincompiliere, sondern von meinem loader zur verfügung gestellt wird,... hä?</p>
<p>Ich werde natürlich nicht die gesamte standardbibliothek reimplementieren. Bitte sagt mir auch, man könne das anders einfacher machen. Ist ja schließlich mein projekt.</p>
<p>EDIT: Zwei programteile: Eine shared-library, eine ausführbare datei. Die ausführbare datei (&quot;loader&quot;) hat die standadbibliotheksimplementierung, die shared-library benutzt diese, soll aber immer die des loaders benutzen. Die implementiereung kann abweichen, die benutzung aber nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099851</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Sat, 30 Jul 2011 16:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sat, 30 Jul 2011 16:40:08 GMT]]></title><description><![CDATA[<p>lk schrieb:</p>
<blockquote>
<p>... hä?</p>
</blockquote>
<p>Das war auch mein erster Gedanke. Kannst du noch mal beschreiben, was du eigentlich vor hast?</p>
<p>Edit:</p>
<p>lk schrieb:</p>
<blockquote>
<p>EDIT: Zwei programteile: Eine shared-library, eine ausführbare datei. Die ausführbare datei (&quot;loader&quot;) hat die standadbibliotheksimplementierung, die shared-library benutzt diese, soll aber immer die des loaders benutzen. Die implementiereung kann abweichen, die benutzung aber nicht...</p>
</blockquote>
<p>Hm.. ich weiß die Frage nervt dich bestimmt, aber wozu? Wenn ich das richtig verstehe, hast du vor sowohl einen Linker, als auch große Teile der C++ Standardbibliothek zu implementieren? Na dann viel Spaß. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099853</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 30 Jul 2011 16:40:08 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sat, 30 Jul 2011 16:33:58 GMT]]></title><description><![CDATA[<p>Schau, was passiert, wenn Du eine pure virtual function callst oder eine Exception nicht fängst. Da kommen Ausgaben. Die könnten über cout oder cerr passieren und im Startup-Code inline sein. Wer weiß? Mußt dazu den Code anschauen, wo das passiert.<br />
Vermutlich würde es klappen, wenn Du &lt;iostream&gt; komplett identisch reimplemtiert. Aber dann ist schon die Frage, wozu?<br />
Tust Du aber ein besseres moderneres cout basteln, denke ich, es kalppt nur, wenn Du auch den Startup-Code entsprechend anpaßt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099857</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 30 Jul 2011 16:33:58 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sat, 30 Jul 2011 16:54:15 GMT]]></title><description><![CDATA[<p>Okay okay.<br />
Fürs erste wäre ein myprintf(char*,...) ausreichend. Aber die frage bleibt offen, wie kirege ich eine referenz auf diese funktion, die doch in dem loader ist, in der shared lib? (also benutzung)</p>
<p>loader.cp</p>
<pre><code class="language-cpp">#include &quot;api.h&quot;
int main()
{
    // load shared lib...
    FUNC* shared_libs_main = /*aus shared lib*/;
    shared_libs_main(&quot;Hello module&quot;);
    reutnr 0;
}
</code></pre>
<p>sharedlib.cp</p>
<pre><code class="language-cpp">#include &quot;api.h&quot;
void shared_libs_main(char* welcomeer)
{ log(&quot;[!] You welcomed me with \&quot;%s\&quot;&quot;,welcomeer); quit(&quot;normal quit.&quot;,0); }
</code></pre>
<p>api.h - steht zu jedem zeitpunkt bereit (shared libs können sie benutzen sowie der loader.)</p>
<pre><code class="language-cpp">int log(char* format, ...);
int quit(char* message, int code);
// etc...
</code></pre>
<p>api.cpp - nur der loader hat die implementation.</p>
<pre><code class="language-cpp">#include &quot;api.h&quot;
int log(char* format, ...) { /*wrapper für printf oder so was.*/ }
int quit(char* message, int code) { log(&quot;[quit] A module selfdestructed itself with \&quot;%s\&quot; and the code %s&quot;,message,code); }
</code></pre>
<p>Da sollte also bei ausführung des loaders das rauskommen:<br />
`[!] You welcomed me with &quot;Hello module&quot;</p>
<p>[quit] A Module selfdestructed itself with &quot;normal quit.&quot; and code 0`</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099859</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Sat, 30 Jul 2011 16:54:15 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sat, 30 Jul 2011 17:02:31 GMT]]></title><description><![CDATA[<p>Worum geht es dir eigentlich? Willst du diese Log-Funktion umsetzen (da wäre vprintf() eventuell ein geeignetes Hilfsmittel) oder willst du es automatisch in dein Programm integrieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099861</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 30 Jul 2011 17:02:31 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sat, 30 Jul 2011 17:03:07 GMT]]></title><description><![CDATA[<p>Mein Tipp:<br />
Du hast noch nie eine externe Bibliothek genutzt und denkst, die wären das Gleiche wie die unter Windows bekannten DLL's. [Falls das wahr ist: <a href="http://msdn.microsoft.com/en-us/library/ms235627.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms235627.aspx</a> ]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099862</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 30 Jul 2011 17:03:07 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sat, 30 Jul 2011 17:03:05 GMT]]></title><description><![CDATA[<p>printf gehört zur C-Standardlib und ist das letzte, das ich freiwillig implementiere. Warum gibts mit C++0x nicht eigentlich eine typsichere Version davon?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099863</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sat, 30 Jul 2011 17:03:05 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sat, 30 Jul 2011 17:10:03 GMT]]></title><description><![CDATA[<p>Ich habe nie DLLs programmiert, nur unix shared objects. fand ich auch recht bockig, aber mir gehts darum,... wie kann die geladene shared-library überhaupt auf irgendwelche funktionen im loader zugreifen o.O ?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099867</guid><dc:creator><![CDATA[lk]]></dc:creator><pubDate>Sat, 30 Jul 2011 17:10:03 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sat, 30 Jul 2011 19:35:55 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Warum gibts mit C++0x nicht eigentlich eine typsichere Version davon?</p>
</blockquote>
<p>Abwärtskompatibilität.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099910</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sat, 30 Jul 2011 19:35:55 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sat, 30 Jul 2011 19:43:34 GMT]]></title><description><![CDATA[<p>Ich meinte eher zusätzlich zur C-Version.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099913</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sat, 30 Jul 2011 19:43:34 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sat, 30 Jul 2011 19:54:27 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Warum gibts mit C++0x nicht eigentlich eine typsichere Version davon?</p>
</blockquote>
<p>In C++ sind Streams das übliche Mittel für Ein- und Ausgabe - die kommen sogar ohne variable Argumentlisten aus. Ansonsten kannst du dich sicher mal nach Boost::Format umsehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099921</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 30 Jul 2011 19:54:27 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sun, 31 Jul 2011 08:36:59 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>314159265358979 schrieb:</p>
<blockquote>
<p>Warum gibts mit C++0x nicht eigentlich eine typsichere Version davon?</p>
</blockquote>
<p>In C++ sind Streams das übliche Mittel für Ein- und Ausgabe - die kommen sogar ohne variable Argumentlisten aus. Ansonsten kannst du dich sicher mal nach Boost::Format umsehen.</p>
</blockquote>
<p>Ich persönlich finde printf() deutlich schicker als das ganze operator&gt;&gt; Gedöhns und der Code wird deutlich schlanker &amp; besser lesbar.<br />
Typsicher ist übrigens zb mit GCC schon die C-Variante von printf, GCC spuckt klare Warnungen aus wenn der Werttyp vom angegebenen abweicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099978</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Sun, 31 Jul 2011 08:36:59 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sun, 31 Jul 2011 08:51:27 GMT]]></title><description><![CDATA[<p>Ethon schrieb:</p>
<blockquote>
<p>Typsicher [...] klare Warnungen</p>
</blockquote>
<p>Passt meiner Meinung nach nicht zusammen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2099980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2099980</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sun, 31 Jul 2011 08:51:27 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sun, 31 Jul 2011 10:06:39 GMT]]></title><description><![CDATA[<p>Ich find's schlechter lesbar. Links steht ein %bla und %blub und rechts kommen erst die Eintragungen. Bei den Streams ist die Reihenfolge hingegen richtig, das ist deutlich besser. Aber die Diskussion ist müßig und sinnlos.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2100005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2100005</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Sun, 31 Jul 2011 10:06:39 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene standardbibliothek implementieren ? on Sun, 31 Jul 2011 12:55:28 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>Ethon schrieb:</p>
<blockquote>
<p>Typsicher [...] klare Warnungen</p>
</blockquote>
<p>Passt meiner Meinung nach nicht zusammen...</p>
</blockquote>
<p>Wenn dasteht: &quot;Hey, du sagst int, ich seh da aber nen const char*&quot; ist das in meinen Augen nicht wirklich unsicherer als ein direkter Compilerfehler.</p>
<blockquote>
<p>Ich find's schlechter lesbar. Links steht ein %bla und %blub und rechts kommen erst die Eintragungen. Bei den Streams ist die Reihenfolge hingegen richtig, das ist deutlich besser. Aber die Diskussion ist müßig und sinnlos.</p>
</blockquote>
<p>Hängt imo vom Einsatzzweck ab.</p>
<p>&quot;Name: (Hans Peter) Age: 20&quot;</p>
<p>würde man per Formatstring mit nem einfachen &quot;Name: (%s) Age: %d&quot; String parsen können, mit Streams wäre das etwas unübersichtliches und hässliches geworden.<br />
Meistens lohnt es sich da direkt Boost.Spirit auszupacken.</p>
<p>Natürlich gibts andere Fälle, in denen Streams schneller &amp; besser sind, man muss halt je nach Situation entscheiden. (Finde ich zumindestens)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2100053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2100053</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Sun, 31 Jul 2011 12:55:28 GMT</pubDate></item></channel></rss>