<?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-Code in C++-Lib-Projekt verwenden]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>ich bastel gerade an einem C++-Projekt (VS2010) zum Erstellen einer Lib.</p>
<p>Gerne würde ich zur Vereinfachung einiger Dinge C-Code verwenden.<br />
Das Projekt ist primär auf C++-Basis erstellt.</p>
<p>Ich habe 3 C++-Header mit entsprechenden .cpp-Dateien und 2 C-Header mit entsprechenden .c-Dateien.</p>
<p>Die C++-Dateien haben normalen C++-Code.<br />
In den C-Headern verwende ich</p>
<pre><code>#ifdef __cplusplus
extern &quot;C&quot;
{
	... C-Code ...
}
#endif
</code></pre>
<p>Nun nutze ich C-Code in der .c-Datei. Jedoch werden mir Fehler angezeigt, weil der Code offenbar nicht als C-Code kompiliert wird, sondern als C++-Code.<br />
In den Eigenschaften der .c-Datei habe ich unter C/C++ =&gt; Erweitert =&gt; Kompilierungsart bereits auf &quot;als C-Code kompilieren&quot; umgestellt, aber es ändert sich leider nichts.</p>
<p>Habt ihr eine Idee, woran es liegen könnte, dass ich den C-Code nicht kompiliert bekomme?</p>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/326628/c-code-in-c-lib-projekt-verwenden</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Jul 2026 23:48:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/326628.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Jun 2014 13:15:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C-Code in C++-Lib-Projekt verwenden on Fri, 27 Jun 2014 13:15:02 GMT]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>ich bastel gerade an einem C++-Projekt (VS2010) zum Erstellen einer Lib.</p>
<p>Gerne würde ich zur Vereinfachung einiger Dinge C-Code verwenden.<br />
Das Projekt ist primär auf C++-Basis erstellt.</p>
<p>Ich habe 3 C++-Header mit entsprechenden .cpp-Dateien und 2 C-Header mit entsprechenden .c-Dateien.</p>
<p>Die C++-Dateien haben normalen C++-Code.<br />
In den C-Headern verwende ich</p>
<pre><code>#ifdef __cplusplus
extern &quot;C&quot;
{
	... C-Code ...
}
#endif
</code></pre>
<p>Nun nutze ich C-Code in der .c-Datei. Jedoch werden mir Fehler angezeigt, weil der Code offenbar nicht als C-Code kompiliert wird, sondern als C++-Code.<br />
In den Eigenschaften der .c-Datei habe ich unter C/C++ =&gt; Erweitert =&gt; Kompilierungsart bereits auf &quot;als C-Code kompilieren&quot; umgestellt, aber es ändert sich leider nichts.</p>
<p>Habt ihr eine Idee, woran es liegen könnte, dass ich den C-Code nicht kompiliert bekomme?</p>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2405933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2405933</guid><dc:creator><![CDATA[MediStef]]></dc:creator><pubDate>Fri, 27 Jun 2014 13:15:02 GMT</pubDate></item><item><title><![CDATA[Reply to C-Code in C++-Lib-Projekt verwenden on Fri, 27 Jun 2014 13:17:27 GMT]]></title><description><![CDATA[<p>Geht's etwas ausführlicher als &quot;mir werden Fehler angezeigt&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2405934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2405934</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 27 Jun 2014 13:17:27 GMT</pubDate></item><item><title><![CDATA[Reply to C-Code in C++-Lib-Projekt verwenden on Fri, 27 Jun 2014 13:23:33 GMT]]></title><description><![CDATA[<p>MediStef schrieb:</p>
<blockquote>
<p>Die C++-Dateien haben normalen C++-Code.<br />
In den C-Headern verwende ich</p>
<pre><code>#ifdef __cplusplus
extern &quot;C&quot;
{
	... C-Code ...
}
#endif
</code></pre>
</blockquote>
<p>Das sollte wohl eher so aussehen:</p>
<pre><code>#ifdef __cplusplus
extern &quot;C&quot;
{
#endif
	... C-Code ...
#ifdef __cplusplus
}
#endif
</code></pre>
<p>Ansonsten ist der C-Code auch nur vorhanden, wenn du C++ kompilierst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2405936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2405936</guid><dc:creator><![CDATA[oenone]]></dc:creator><pubDate>Fri, 27 Jun 2014 13:23:33 GMT</pubDate></item><item><title><![CDATA[Reply to C-Code in C++-Lib-Projekt verwenden on Fri, 27 Jun 2014 13:26:08 GMT]]></title><description><![CDATA[<p>Entschuldige, es sind Kompilierungsfehler, z. B.</p>
<pre><code>_Bool readUnsignedShortInt(gzFile* f, int len, unsigned short int* value) {
    char buf[len+1];
.
.
.
}
</code></pre>
<p>Unter C sollte er z. B. len+1 akzeptieren, in C++ muss len+1 zum Zeitpunkt der Kompilierung einen konstanten und bekannten Wert haben.</p>
<p>Das zeigt mit, dass der Code fehlinterpretiert wird.</p>
<p>EDIT: <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8020">@oenone</a>, japp sieht auch so aus, habs falsch zusammengefasst. Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2405937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2405937</guid><dc:creator><![CDATA[MediStef]]></dc:creator><pubDate>Fri, 27 Jun 2014 13:26:08 GMT</pubDate></item><item><title><![CDATA[Reply to C-Code in C++-Lib-Projekt verwenden on Fri, 27 Jun 2014 13:27:39 GMT]]></title><description><![CDATA[<p>Der C-Compiler von Visual C++ unterstützt keine VLAs.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2405938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2405938</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 27 Jun 2014 13:27:39 GMT</pubDate></item><item><title><![CDATA[Reply to C-Code in C++-Lib-Projekt verwenden on Fri, 27 Jun 2014 13:43:42 GMT]]></title><description><![CDATA[<p>Du kannst natürlich nur die Schnittmenge von C und C++ nehmen. C++ ist nicht 100% kompatibel zu C.</p>
<p>Edit:<br />
Jepp, VLA sind C99 und der C-Compiler von Visual Studio ist nicht 100% C99-konform.</p>
<p>Edit2:<br />
Fun Fact: Die deutsche Auto-Übersetzung verdreht den Sinn: Aus &quot;Variable length arrays are not currently supported in Visual C++.&quot; wird &quot;Arrays mit variabler Länge werden nicht nur in Visual C++ unterstützt.&quot;:<br />
<a href="http://msdn.microsoft.com/de-de/library/zb1574zs(v=vs.120).aspx" rel="nofollow">http://msdn.microsoft.com/de-de/library/zb1574zs(v=vs.120).aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2405939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2405939</guid><dc:creator><![CDATA[oenone]]></dc:creator><pubDate>Fri, 27 Jun 2014 13:43:42 GMT</pubDate></item><item><title><![CDATA[Reply to C-Code in C++-Lib-Projekt verwenden on Fri, 27 Jun 2014 13:47:01 GMT]]></title><description><![CDATA[<p>Oki, vielen Dank!</p>
<p>Ich dachte, wenn schon ein C-Compiler angeboten wird, dann unterstützt der auch vollständig.</p>
<p>Dann wird mein Workaround wohl jener sein:</p>
<pre><code>_Bool readUnsignedShortInt(gzFile* f, int len, unsigned short int* value) {
    char *buf = new char [len+1];
.
.
.
delete[] buf;
}
</code></pre>
<p>Ich danke euch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2405944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2405944</guid><dc:creator><![CDATA[MediStef]]></dc:creator><pubDate>Fri, 27 Jun 2014 13:47:01 GMT</pubDate></item><item><title><![CDATA[Reply to C-Code in C++-Lib-Projekt verwenden on Fri, 27 Jun 2014 13:52:06 GMT]]></title><description><![CDATA[<p>MediStef schrieb:</p>
<blockquote>
<p>Ich dachte, wenn schon ein C-Compiler angeboten wird, dann unterstützt der auch vollständig.</p>
</blockquote>
<p>Microsoft hat wenig Liebe für C. Aber der C-Compiler unterstützt C auch &quot;vollständig&quot;, wenn du von C89/C90 ausgehst (auch &quot;ANSI C&quot; genannt).</p>
<p>Wenn du Sprachfeatures von einer neueren Version nimmst, musst du auch einen Compiler suchen, der die unterstützt.</p>
<p>Es gibt denke ich keinen Compiler, der wirklich *alle* Standards vollständig unterstützt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2405949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2405949</guid><dc:creator><![CDATA[oenone]]></dc:creator><pubDate>Fri, 27 Jun 2014 13:52:06 GMT</pubDate></item><item><title><![CDATA[Reply to C-Code in C++-Lib-Projekt verwenden on Fri, 27 Jun 2014 14:12:59 GMT]]></title><description><![CDATA[<p>MediStef schrieb:</p>
<blockquote>
<p>Dann wird mein Workaround wohl jener sein:</p>
<pre><code>_Bool readUnsignedShortInt(gzFile* f, int len, unsigned short int* value) {
    char *buf = new char [len+1];
.
.
.
delete[] buf;
}
</code></pre>
</blockquote>
<p>Wohl eher <code>malloc()</code> und <code>free()</code> . Oder mit Vorsicht <code>alloca()</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2405954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2405954</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Fri, 27 Jun 2014 14:12:59 GMT</pubDate></item><item><title><![CDATA[Reply to C-Code in C++-Lib-Projekt verwenden on Fri, 27 Jun 2014 14:26:24 GMT]]></title><description><![CDATA[<p>Caligulaminus schrieb:</p>
<blockquote>
<p>Wohl eher <code>malloc()</code> und <code>free()</code> . Oder mit Vorsicht <code>alloca()</code> .</p>
</blockquote>
<p>Sind VLAs nicht einfach nur Syntaxzucker für alloca?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2405956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2405956</guid><dc:creator><![CDATA[DrakoXP]]></dc:creator><pubDate>Fri, 27 Jun 2014 14:26:24 GMT</pubDate></item><item><title><![CDATA[Reply to C-Code in C++-Lib-Projekt verwenden on Fri, 27 Jun 2014 14:38:14 GMT]]></title><description><![CDATA[<p>DrakoXP schrieb:</p>
<blockquote>
<p>Caligulaminus schrieb:</p>
<blockquote>
<p>Wohl eher <code>malloc()</code> und <code>free()</code> . Oder mit Vorsicht <code>alloca()</code> .</p>
</blockquote>
<p>Sind VLAs nicht einfach nur Syntaxzucker für alloca?</p>
</blockquote>
<p>Ich bin mir nicht ganz sicher, aber wahrscheinlich ist es dasselbe, ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2405958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2405958</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Fri, 27 Jun 2014 14:38:14 GMT</pubDate></item></channel></rss>