<?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[C-Lib mit Namespace]]></title><description><![CDATA[<p>Also soweit ich sah, kann man C und C++ Codes mit GCC Objekt-Dateien kompilieren und dann zusammenlinken.</p>
<p>Mich interessiert es, ob man eine fertige C-Library die man irgendwo bekommt, in einen separaten namespace ausgliedern kann? Ohne, dass man gleich alle Codes ändern muß.</p>
<p>Reicht es z.B. headeriles zu ändern? Oder muß ich dann doch Codes nach C++ konvertieren und alles sauber mit namespace machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/198985/c-lib-mit-namespace</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 18:25:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198985.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 27 Nov 2007 18:25:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C-Lib mit Namespace on Tue, 27 Nov 2007 18:25:52 GMT]]></title><description><![CDATA[<p>Also soweit ich sah, kann man C und C++ Codes mit GCC Objekt-Dateien kompilieren und dann zusammenlinken.</p>
<p>Mich interessiert es, ob man eine fertige C-Library die man irgendwo bekommt, in einen separaten namespace ausgliedern kann? Ohne, dass man gleich alle Codes ändern muß.</p>
<p>Reicht es z.B. headeriles zu ändern? Oder muß ich dann doch Codes nach C++ konvertieren und alles sauber mit namespace machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1411195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411195</guid><dc:creator><![CDATA[TheShadow2000]]></dc:creator><pubDate>Tue, 27 Nov 2007 18:25:52 GMT</pubDate></item><item><title><![CDATA[Reply to C-Lib mit Namespace on Tue, 27 Nov 2007 18:50:36 GMT]]></title><description><![CDATA[<p>Also wenn du denkst was ich denke dass du das denkst, dann denke ich meinst du das hier?</p>
<pre><code class="language-cpp">//C-Header
#include&lt;stdio.h&gt;
//Das ganze in C++
#include&lt;cstdio&gt;
using namespace std;
//anstatt jedesmal vor cout ein std:: zu hängen
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1411201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411201</guid><dc:creator><![CDATA[Blaze]]></dc:creator><pubDate>Tue, 27 Nov 2007 18:50:36 GMT</pubDate></item><item><title><![CDATA[Reply to C-Lib mit Namespace on Tue, 27 Nov 2007 20:00:00 GMT]]></title><description><![CDATA[<p>Wenn du eine C-Bibliothek ohne Namespace hast, und einfach die .cpp und .h -Dateien deinem Projekt hinzufügst, wirst du mit großer Sicherheit alles in einen Namesoace packen können.<br />
Allerdings muss dann der Code in den .h und .cpp -Paare immer in den gleichen Namespace gepackt werden, dann hast du am wenigsten Arbeit damit.</p>
<p>Beispiel:</p>
<p>bla.h:</p>
<pre><code class="language-cpp">...include
void bla_foo(int, int);
...
</code></pre>
<p>bla.cpp:</p>
<pre><code class="language-cpp">#include &quot;bla.h&quot;

void bla_foo(int a, int b)
{
    tu_dies();
}
</code></pre>
<p>In Namespace bla packen:</p>
<p>bla.h:</p>
<pre><code class="language-cpp">...include
namespace bla
{
    void bla_foo(int, int);
    ...
}
</code></pre>
<p>bla.cpp:</p>
<pre><code class="language-cpp">#include &quot;bla.h&quot;
namespace bla
{
     void bla_foo(int a, int b)
     {
         tu_dies();
     }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1411238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411238</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Tue, 27 Nov 2007 20:00:00 GMT</pubDate></item><item><title><![CDATA[Reply to C-Lib mit Namespace on Tue, 27 Nov 2007 23:31:24 GMT]]></title><description><![CDATA[<p>Naja, C++ ist nicht 100% zu C &quot;abwärtskompatibel&quot;. D.h. man muss u.U. einiges ändern, je nachdem wie die C Library geschrieben ist, um den Code als C++ compilieren zu können.</p>
<p>Eine Alternative (wenn es nur um Namenskollisionen geht) wäre evtl. allen Funktionen/Typedefs/Structs/Globalen einen Prefix zu verpassen (also &quot;foo&quot; in &quot;xyzlibrary_foo&quot; umnennen und so weiter).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1411333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411333</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 27 Nov 2007 23:31:24 GMT</pubDate></item><item><title><![CDATA[Reply to C-Lib mit Namespace on Wed, 28 Nov 2007 17:02:44 GMT]]></title><description><![CDATA[<p>hm ich hab gehofft das ginge einfacher</p>
<p>wäre es den möglich eine lib so zu nehmen wie die ist und diese dazulinken. Jedoch die header würde ich mit namespaces ergänzen. Aber ich denke dann gäbe es compiler-errors, oder???</p>
<p>namespace blub<br />
{</p>
<p>extern &quot;C&quot;<br />
{<br />
void foo();<br />
};</p>
<p>};</p>
<p>würde das gehen? oder sind extern &quot;C&quot; und namespace inkompatibel?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1411735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411735</guid><dc:creator><![CDATA[TheShadow2000]]></dc:creator><pubDate>Wed, 28 Nov 2007 17:02:44 GMT</pubDate></item><item><title><![CDATA[Reply to C-Lib mit Namespace on Wed, 28 Nov 2007 17:22:39 GMT]]></title><description><![CDATA[<p>Cool ich hab nun einen kleinen test gemacht</p>
<p>hab ein DLL-Projekt erstellt und das kompiliert:</p>
<pre><code class="language-cpp">#include &quot;stdio.h&quot;
#define DECL __declspec(dllexport)

DECL void test()
{
    printf(&quot;Es geht&quot;);
}
</code></pre>
<p>dann hab ich ein C++ Projekt erstellt:</p>
<pre><code class="language-cpp">#define DECL __declspec(dllimport)

namespace blub
{

    extern &quot;C&quot;
    {
        DECL void test();
    };

};

int main()
{
    blub::test();
    return 0;
}
</code></pre>
<p>Der Code wird ohne Fehler kompiliert und ausgeführt... Ohne extern &quot;C&quot; geht es übrigens nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1411748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411748</guid><dc:creator><![CDATA[TheShadow2000]]></dc:creator><pubDate>Wed, 28 Nov 2007 17:22:39 GMT</pubDate></item></channel></rss>