<?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[Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot;]]></title><description><![CDATA[<p>Hi,</p>
<p>ich bekomme einen &quot;***glibc&quot; wenn ich eine Funktion aufrufe die so deklariert ist:</p>
<pre><code class="language-cpp">XXXX_IMPORT drv_ptr = xxxx_hOpen( char* szDeviceName);
</code></pre>
<p>wobei XXXX_IMPORT als</p>
<pre><code class="language-cpp"># ifdef __cplusplus
#define XXXX_IMPORT extern &quot;C&quot;)
</code></pre>
<p>und drv_ptr als</p>
<pre><code class="language-cpp">#define drv_ptr void*
</code></pre>
<p>der Funktion &quot;xxxx_hOpen&quot; ein char array (ja ich weiss...) übergeben.</p>
<pre><code class="language-cpp">char szDrvName[20];
sprintf(szDrvName, &quot;/dev/xxxx%d&quot;, idx);
</code></pre>
<p>und idx ist vom typ long int.</p>
<p>Der char-Array ist groß genug. Das kann den Fehler nicht auslösen, aber XXXX_IMPORT?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/300231/probleme-mit-dem-aufruf-einer-quot-c-quot-funktion-in-quot-c-quot</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 22:00:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300231.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Feb 2012 11:50:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 11:56:47 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich bekomme einen &quot;***glibc&quot; wenn ich eine Funktion aufrufe die so deklariert ist:</p>
<pre><code class="language-cpp">XXXX_IMPORT drv_ptr = xxxx_hOpen( char* szDeviceName);
</code></pre>
<p>wobei XXXX_IMPORT als</p>
<pre><code class="language-cpp"># ifdef __cplusplus
#define XXXX_IMPORT extern &quot;C&quot;)
</code></pre>
<p>und drv_ptr als</p>
<pre><code class="language-cpp">#define drv_ptr void*
</code></pre>
<p>der Funktion &quot;xxxx_hOpen&quot; ein char array (ja ich weiss...) übergeben.</p>
<pre><code class="language-cpp">char szDrvName[20];
sprintf(szDrvName, &quot;/dev/xxxx%d&quot;, idx);
</code></pre>
<p>und idx ist vom typ long int.</p>
<p>Der char-Array ist groß genug. Das kann den Fehler nicht auslösen, aber XXXX_IMPORT?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186539</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Tue, 28 Feb 2012 11:56:47 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 11:56:17 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">XXXX_IMPORT drv_ptr = xxxx_hOpen( char* szDeviceName);
                 // ^-- was soll das '=' da?
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2186540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186540</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Tue, 28 Feb 2012 11:56:17 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 11:58:33 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>nee ich meine <strong>hDrv</strong> = xxx_hOpen( szDrvName ); und hDrv ist void*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186542</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Tue, 28 Feb 2012 11:58:33 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 11:59:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">XXXX_IMPORT drv_ptr = xxxx_hOpen( char* szDeviceName);

extern &quot;C&quot; void* = xxxx_hOpen( char* szDeviceName);
</code></pre>
<p>Abgesehen vom '=', sagt nicht das 2. deutlicher, was das ist? Warum machst du überall 'xxxx' rein?^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186544</guid><dc:creator><![CDATA[Thuruk]]></dc:creator><pubDate>Tue, 28 Feb 2012 11:59:52 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 12:05:59 GMT]]></title><description><![CDATA[<p>1. Du bekommst eine glibc? Und vorher arbeitet Dein System ohne?<br />
2. Deine Deklaration ist keine Deklaration, sondern schlichtweg falsch.<br />
3. Was soll das ständige XXXX?</p>
<p>Das einzige, was mir auffällt, ist, dass der Formatspezifizierer für long %ld ist. Ansonsten kann ich nur den gut gemeinten Rat geben, stell vernünftige Fragen, poste gültigen Code, poste vernünftige Fehlerbeschreibungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186550</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 28 Feb 2012 12:05:59 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 12:16:22 GMT]]></title><description><![CDATA[<p>FrankTheFox schrieb:</p>
<blockquote>
<p>ich bekomme einen &quot;***glibc&quot; wenn ich eine Funktion aufrufe die so deklariert ist:</p>
</blockquote>
<p>Komisch... Müsste das nicht ein &quot;xxxglibc&quot; sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186554</guid><dc:creator><![CDATA[grauehaare]]></dc:creator><pubDate>Tue, 28 Feb 2012 12:16:22 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 12:30:04 GMT]]></title><description><![CDATA[<p>Oh menno,</p>
<ol>
<li></li>
</ol>
<pre><code class="language-cpp">#ifdef _LINUX
#define int32 int
...
</code></pre>
<p>^^ kein long int tut mir leid, zu schnell drüber geschaut.</p>
<p>die Deklaration der Funktion die ich aurufe:</p>
<pre><code class="language-cpp">SPCM_IMPORT drv_handle _stdcall spcm_hOpen( char* szDeviceName );
</code></pre>
<p>wobei</p>
<pre><code class="language-cpp">#ifdef _LINUX
...
#ifdef __cplusplus
#    define SPCM_IMPORT extern &quot;C&quot;
# else
#    define SPCM_IMPORT
#endif
#define _stdcall
</code></pre>
<p>rufe ich nur spcm_hOpen auf:</p>
<pre><code class="language-cpp">char szDrvName[20];
sprintf(szDrvName, &quot;/dev/xxxx%d&quot;, idx); 	

void* hDrv = spcm_hOpen( szDeviceName );
</code></pre>
<p>dann habe ich einen Speicherzugriffsfehler.</p>
<p>mache ich dann noch...</p>
<p>spcm_vClose( hDrv );</p>
<p>ist def als</p>
<pre><code class="language-cpp">SPCM_IMPORT void _stdcall spcm_vClose( drv_handle hDevice);
</code></pre>
<p>wobei drv_handle</p>
<pre><code class="language-cpp">#define drv_handle  void*
</code></pre>
<p>wobei das dann zu</p>
<pre><code class="language-cpp">extern &quot;C&quot; void spcm_vClose( hDrv );
</code></pre>
<p>wird.</p>
<p>dann ***glibc double free...</p>
<p>die Funktionsaufrufe spcm_vClose und spcm_hOpen lösen die Probleme aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186561</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Tue, 28 Feb 2012 12:30:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 12:32:20 GMT]]></title><description><![CDATA[<p>Ungarische Notation missbraucht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186563</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 28 Feb 2012 12:32:20 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 12:37:27 GMT]]></title><description><![CDATA[<p>Hey komm, ich missbrauche hier nix. Nee so einer bin ich nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186566</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Tue, 28 Feb 2012 12:37:27 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 12:39:40 GMT]]></title><description><![CDATA[<p>Schon besser <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>Leider ist schwer zu sagen, wo das Problem liegt. Angenommen, szDrvName ist lang genug (wovon ich ausgehe), kann es eigentlich nur sein, dass die Aufrufkonvention doch eine andere ist als angegeben. Oder dass die Bibliothek kaputt ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186568</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 28 Feb 2012 12:39:40 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 12:44:41 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ja dass vermute ich auch. Der Array sollte gross genug sein. Was die Funktionen machen weiss ich nicht, kann nur die Header einsehen. Kann ich irgendwo sehen, wie die Makro's umgesetzt werden? Ich denke aber auch die Lib's sind vermurkst. Aber das vewundert mich ja umso mehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186569</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Tue, 28 Feb 2012 12:44:41 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 13:00:13 GMT]]></title><description><![CDATA[<p>Welchen Wert hat idx?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186579</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Tue, 28 Feb 2012 13:00:13 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 13:17:18 GMT]]></title><description><![CDATA[<p>Tja,</p>
<p>nach -save-temps und der Suche in den ii-Dateien wird</p>
<pre><code class="language-cpp">extern &quot;C&quot; void spcm_hOpen( char* szDeviceName );
</code></pre>
<p>und</p>
<pre><code class="language-cpp">extern &quot;C&quot; void spcm_vClose( void* hDevice );
</code></pre>
<p>angezeigt. Aber das scheint in Ordnung zu sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186590</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Tue, 28 Feb 2012 13:17:18 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 13:18:12 GMT]]></title><description><![CDATA[<p>seldon schrieb:</p>
<blockquote>
<p>Welchen Wert hat idx?</p>
</blockquote>
<p>0</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186591</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Tue, 28 Feb 2012 13:18:12 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Aufruf einer &amp;quot;C&amp;quot; funktion in &amp;quot;C++&amp;quot; on Tue, 28 Feb 2012 16:37:43 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>updaten der libs hat's gebracht.</p>
<p>Gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186705</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Tue, 28 Feb 2012 16:37:43 GMT</pubDate></item></channel></rss>