<?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++ Funktionen in C benutzen.]]></title><description><![CDATA[<p>Hallo,<br />
ich würde gern C++ Funktionen in C benutzen.<br />
Konkret: die Funktionen der complex Klasse.<br />
Geht das ? Wenn ja, wie ?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/207648/c-funktionen-in-c-benutzen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 08:45:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/207648.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Mar 2008 11:42:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++ Funktionen in C benutzen. on Mon, 10 Mar 2008 11:42:02 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich würde gern C++ Funktionen in C benutzen.<br />
Konkret: die Funktionen der complex Klasse.<br />
Geht das ? Wenn ja, wie ?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471372</guid><dc:creator><![CDATA[C++ n00b]]></dc:creator><pubDate>Mon, 10 Mar 2008 11:42:02 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Funktionen in C benutzen. on Mon, 10 Mar 2008 11:44:38 GMT]]></title><description><![CDATA[<p>Geht nicht.<br />
C++ Code kann nicht mit einem C- Kompiler kompiliert werden.</p>
<p>Du könntest den C++ Code in einer DLL Kapseln und die nötigen Funktionen als C Funktionen (extern C) exportieren.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471373</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 10 Mar 2008 11:44:38 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Funktionen in C benutzen. on Mon, 10 Mar 2008 13:13:02 GMT]]></title><description><![CDATA[<p>Dazu brauchst du nicht unbedingt eine dll. Wenn du für den C und den C++-Code den gleichen Compiler nimmst gehen auch statische libs.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471425</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 10 Mar 2008 13:13:02 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Funktionen in C benutzen. on Mon, 10 Mar 2008 13:30:42 GMT]]></title><description><![CDATA[<blockquote>
<p>Wenn du für den C und den C++-Code den gleichen Compiler nimmst gehen auch statische libs.</p>
</blockquote>
<p>Dann benötigst Du doch nicht mal libs...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471440</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 10 Mar 2008 13:30:42 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Funktionen in C benutzen. on Mon, 10 Mar 2008 18:56:51 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Dazu brauchst du nicht unbedingt eine dll. Wenn du für den C und den C++-Code den gleichen Compiler nimmst gehen auch statische libs.</p>
</blockquote>
<p>das wär gut. hab ich probiert:</p>
<pre><code class="language-cpp">// lib.cpp

#include &lt;iostream&gt;
#include &lt;complex&gt;

#include &quot;lib.h&quot;

void test()
{ 
	_complex c;
	c.x = 1;
	c.y = 2;
	std::cout &lt;&lt; c.x &lt;&lt; &quot; &quot; &lt;&lt; c.y &lt;&lt; std::endl;
}

// lib.h

#ifndef _LIB_H_
#define _LIB_H_

void test();

#endif //_LIB_H_

// main.c
#include &quot;lib.h&quot;
int main()
{
	test();
	return 0;
}
</code></pre>
<p>aber irgendwas mach ich wohl falsch denn:</p>
<blockquote>
<p>Linking...<br />
main.obj : error LNK2001: unresolved external symbol _test<br />
Debug/main.exe : fatal error LNK1120: 1 unresolved externals<br />
Error executing link.exe.</p>
</blockquote>
<p>lib.cpp und lib.h ist ein separates projekt, aus dem ich die statische *.lib datei erstellt habe.<br />
main.c ist ebenfalls ein separates projekt, das die statische lib kennt.<br />
trotzdem kommt es zu dem link error. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471662</guid><dc:creator><![CDATA[C++ n00b]]></dc:creator><pubDate>Mon, 10 Mar 2008 18:56:51 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Funktionen in C benutzen. on Mon, 10 Mar 2008 19:19:27 GMT]]></title><description><![CDATA[<p>du brauchst noch 'nen prototyp von test, der so aussehen muss:</p>
<pre><code>extern &quot;C&quot; void test();
</code></pre>
<p>das sagt dem linker, dass C calling conventions und C 'name mangling' bei dieser funktion benutzt werden sollen.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471688</guid><dc:creator><![CDATA[c-freak]]></dc:creator><pubDate>Mon, 10 Mar 2008 19:19:27 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Funktionen in C benutzen. on Mon, 10 Mar 2008 19:23:55 GMT]]></title><description><![CDATA[<p>extern &quot;C&quot; {<br />
#include &quot;myCppCode.hpp&quot;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471691</guid><dc:creator><![CDATA[externCGast]]></dc:creator><pubDate>Mon, 10 Mar 2008 19:23:55 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Funktionen in C benutzen. on Mon, 10 Mar 2008 19:36:24 GMT]]></title><description><![CDATA[<p>Die Definition muss auch extern &quot;C&quot; sein.</p>
<p>@externCGast:<br />
Das ist, wenn Du eine C-Bibliothek in C++ nutzen möchtest <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471701</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 10 Mar 2008 19:36:24 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Funktionen in C benutzen. on Mon, 10 Mar 2008 19:57:58 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Die Definition muss auch extern &quot;C&quot; sein.</p>
<p>@externCGast:<br />
Das ist, wenn Du eine C-Bibliothek in C++ nutzen möchtest <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Sorry, recht haste-bin eben auch nur zufällig auf Euer Forum gestossen weil ich ein bisschen wegen non-blocking/UDP/select recherchiert habe und dachte ich steuere eben was bei, aber habe ehrlich gesagt natürlich nicht mal ansatzweise das Thema überflogen sondern einfach nur instinktiv auf 'ne Fehlermeldung geantwortet.</p>
<p>Also sorry für den Schmarrn, obwohl ich natürlich schon recht nah dran war <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471717</guid><dc:creator><![CDATA[externCGast]]></dc:creator><pubDate>Mon, 10 Mar 2008 19:57:58 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Funktionen in C benutzen. on Mon, 10 Mar 2008 23:01:36 GMT]]></title><description><![CDATA[<p>sorry, das war meine dämlichkeit. ich habe gedacht, das die lib dem main.c projekt bekannt war. als ich vorhin noch einmal nachgesehen habe, war der pfad library nicht mehr in den projekteinstellungen vorhanden. hab ich wohl falsch gespeichert.</p>
<p>kurzum, jetzt funktioniert es. juhuuu ! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>vielleicht sollte ich noch erwähnen, das es dem compiler egal ist, ob ich</p>
<pre><code class="language-cpp">extern &quot;C&quot; void test();
</code></pre>
<p>oder einfach nur</p>
<pre><code class="language-cpp">void test();
</code></pre>
<p>schreibe.<br />
naja, der ist bestimmt klüger als ich und kompiliert das da irgedwie automatisch mit rein. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471812</guid><dc:creator><![CDATA[C++ n00b]]></dc:creator><pubDate>Mon, 10 Mar 2008 23:01:36 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Funktionen in C benutzen. on Tue, 11 Mar 2008 13:44:03 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;complex&gt;
#include &quot;lib.hpp&quot;

void test()
{
    std::complex&lt;double&gt; complex(1.0, 2.0);
    std::cout &lt;&lt; complex.real() &lt;&lt; &quot; &quot; &lt;&lt; complex.imag() &lt;&lt; std::endl;
}
</code></pre>
<pre><code class="language-cpp">#ifndef LIB_HPP__INCLUDED_
#define LIB_HPP__INCLUDED_

void test();

#endif // LIB_HPP__INCLUDED_
</code></pre>
<pre><code class="language-cpp">#include &quot;lib.hpp&quot;

int main()
{
    test();
}
</code></pre>
<p>Wenn lib.cpp und main.cpp teil deines Projektes sind, sollte das klar gehen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1472082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1472082</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 11 Mar 2008 13:44:03 GMT</pubDate></item></channel></rss>