<?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[Thread per boost-bibiliothek]]></title><description><![CDATA[<p>Hallo zusammen<br />
also ich wollte mich mal mit Threads beschäftigen um sie in mein Programm einzubauen.Da ich versuche möglist Betriebssystemunabhängig zu programmieren habe ich mir die Bibiliothek von Boost herrausgesucht weil ich gelesen habe das das für windows als auch linux geht. Da ich momentan nur Windows zur verfügung habe nehme ich den Microsoft Visual Studio 8 Compiler. Ich habe zwar gelesen wie man so ein &quot;Boost-Thread&quot; erzeugt aber es will nicht so recht klappen.</p>
<pre><code class="language-cpp">#include &lt;boost/thread.hpp&gt;

void Rainig::verschluesselung()
{
...
boost::thread thrd(&amp;Rainig::statusZeichen);
...

thrd.join();

}
</code></pre>
<p>die funktion &quot;statusZeichen&quot; gibt ein laufendes Zeichen aus (sieht dann so aus als würde sich da etwas drehen ^^) - also damit man sehen kann das das Prog noch arbeitet.Das Problem ist nur das der Compiler folgendes Problem &quot;ausspuckt&quot; :</p>
<p>Fehler 21 error C2664: 'bool boost::detail::function::basic_vtable0&lt;R,Allocator&gt;::assign_to&lt;F&gt;(FunctionPtr,boost::detail::function::function_buffer &amp;,boost::detail::function::function_ptr_tag)': Konvertierung des Parameters 3 von 'boost::detail::function::member_ptr_tag' in 'boost::detail::function::function_ptr_tag' nicht möglich</p>
<p>Nur ist es das Problem das ich die meldung nicht verstehe denn der Code ist so komplex ^^ (bin erst knapp ein jahr dabei) und ich wollte auch nicht in dem Code von Boost rumpfuschen (ich glaube das die das schon richtig Programmiert haben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> )</p>
<p>Könnt Ihr mir helfen? <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/topic/185724/thread-per-boost-bibiliothek</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 06:16:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/185724.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 30 Jun 2007 12:56:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Thread per boost-bibiliothek on Sat, 30 Jun 2007 12:56:25 GMT]]></title><description><![CDATA[<p>Hallo zusammen<br />
also ich wollte mich mal mit Threads beschäftigen um sie in mein Programm einzubauen.Da ich versuche möglist Betriebssystemunabhängig zu programmieren habe ich mir die Bibiliothek von Boost herrausgesucht weil ich gelesen habe das das für windows als auch linux geht. Da ich momentan nur Windows zur verfügung habe nehme ich den Microsoft Visual Studio 8 Compiler. Ich habe zwar gelesen wie man so ein &quot;Boost-Thread&quot; erzeugt aber es will nicht so recht klappen.</p>
<pre><code class="language-cpp">#include &lt;boost/thread.hpp&gt;

void Rainig::verschluesselung()
{
...
boost::thread thrd(&amp;Rainig::statusZeichen);
...

thrd.join();

}
</code></pre>
<p>die funktion &quot;statusZeichen&quot; gibt ein laufendes Zeichen aus (sieht dann so aus als würde sich da etwas drehen ^^) - also damit man sehen kann das das Prog noch arbeitet.Das Problem ist nur das der Compiler folgendes Problem &quot;ausspuckt&quot; :</p>
<p>Fehler 21 error C2664: 'bool boost::detail::function::basic_vtable0&lt;R,Allocator&gt;::assign_to&lt;F&gt;(FunctionPtr,boost::detail::function::function_buffer &amp;,boost::detail::function::function_ptr_tag)': Konvertierung des Parameters 3 von 'boost::detail::function::member_ptr_tag' in 'boost::detail::function::function_ptr_tag' nicht möglich</p>
<p>Nur ist es das Problem das ich die meldung nicht verstehe denn der Code ist so komplex ^^ (bin erst knapp ein jahr dabei) und ich wollte auch nicht in dem Code von Boost rumpfuschen (ich glaube das die das schon richtig Programmiert haben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> )</p>
<p>Könnt Ihr mir helfen? <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/1315615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315615</guid><dc:creator><![CDATA[Rainu]]></dc:creator><pubDate>Sat, 30 Jun 2007 12:56:25 GMT</pubDate></item><item><title><![CDATA[Reply to Thread per boost-bibiliothek on Sat, 30 Jun 2007 13:08:24 GMT]]></title><description><![CDATA[<p>Das Problem ist der Unterschied zwischen Funktionszeiger (zeigt auf eine globale Funktion oder eine statische Methode) und Methodenzeiger (zeigt auf eine &quot;normale&quot; Klassenmethode) - letzterer benötigt zusätzlich zu den normalen Parametern noch ein Objekt, das er als this übergeben kann. Die meisten Thread-Bibliotheken arbeiten nur mit Funktionszeigern zuverlässig zusammen, aber bei Boost kann ich mir vorstellen, daß es auch einen Wrapper anbietet, der sich das this-Objekt besorgt und auf diese Weise die Methode hinter einer &quot;normalen&quot; Funktion tarnt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315623</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 30 Jun 2007 13:08:24 GMT</pubDate></item><item><title><![CDATA[Reply to Thread per boost-bibiliothek on Sat, 30 Jun 2007 13:18:24 GMT]]></title><description><![CDATA[<p>also was ich jetzt darus verstanden habe ist das er noch ein zeiger benötigt damit er weis von welchen objekt die methode stammt (oder so ähnlich ^^). Ich aheb mich auch gleich dran gesetzt und geschaut ob er 2 Argumente benötigt. Aber er braucht nur eins sobald ich noch ein Argument angfebe sagt er das die methode keine 2 Argumente unterstützt. Und das mit dem Wrapper versteh ich ansatztweise <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> aber ich kann nicht in den Code schauen um zu sehen was man benötigt enn ich schau - wei soll ich sagen - wie ein Schwein ins Uhrenwerk <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="😕"
    /> Naja wie gesagt bin erst fast ein Jahr mit C++ beschäftigt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315629</guid><dc:creator><![CDATA[Rainu]]></dc:creator><pubDate>Sat, 30 Jun 2007 13:18:24 GMT</pubDate></item><item><title><![CDATA[Reply to Thread per boost-bibiliothek on Sat, 30 Jun 2007 13:19:11 GMT]]></title><description><![CDATA[<p>Das geht sogar mit Standardmitteln (namentlich std::tr1::bind, entspricht boost::bind).<br />
Es reicht übrigens, einen beliebigen Funktionstyp zu übergeben, solange er die Signatur &quot;void ()&quot; hat. Geht es beispielsweise um eine Singletonobjekt kannst du dir auch eine kleine Zusatzfunktion der Form</p>
<pre><code class="language-cpp">namespace
{
    void status_zeichen ()
    {
        Rainig::instance ().status_zeichen ();
    }
}
</code></pre>
<p>machen und diese übergeben.<br />
Wenn ein normales Objekt existiert, dann muss der Aufruf in etwa so aussehen:</p>
<pre><code class="language-cpp">boost::thread thrd (boost::bind (&amp;Rainig::statusZeichen, obj));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1315631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315631</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sat, 30 Jun 2007 13:19:11 GMT</pubDate></item><item><title><![CDATA[Reply to Thread per boost-bibiliothek on Sat, 30 Jun 2007 13:28:31 GMT]]></title><description><![CDATA[<p>Also es tut mir leid aber ich versteh gerade mal die hälfte (wenns hoch kommt ^^) Also: Es gibt eigentlich kein objekt weil StatusZeichen() eine Methode der selben Klasse ist.(ich denk mal dann ist der &quot;This&quot; angebracht weil das is ja der der auf das objekt zeigt wo ich gerade bin). Ich hab mal das</p>
<pre><code class="language-cpp">boost::thread thrd (boost::bind (&amp;Rainig::statusZeichen, this));
</code></pre>
<p>probiert und da sagt er: &quot;bind ist kein Element von boost&quot; und dann hab ich mal das &quot;std::tr1::bind&quot; benutzt weil es ja das gleiche sein soll und da sagt er das er das nicht kennt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315641</guid><dc:creator><![CDATA[Rainu]]></dc:creator><pubDate>Sat, 30 Jun 2007 13:28:31 GMT</pubDate></item><item><title><![CDATA[Reply to Thread per boost-bibiliothek on Sat, 30 Jun 2007 16:36:31 GMT]]></title><description><![CDATA[<p>boost::bind musst du extra inkludieren und eine implementation von std::tr1 gibts bei fast keinem Compiler, wenn überhaupt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315752</guid><dc:creator><![CDATA[darthdespotism]]></dc:creator><pubDate>Sat, 30 Jun 2007 16:36:31 GMT</pubDate></item><item><title><![CDATA[Reply to Thread per boost-bibiliothek on Sat, 30 Jun 2007 17:19:48 GMT]]></title><description><![CDATA[<p>so also compiliert bekommen hae ich es jetzt (ich habe die Bibliothek eingebunden ^^) So nun kommt aber was was ich noch NIE hatte und zwar ein fehlerausschrift IM Programm Die folgender massen aussieht :</p>
<p>Assertion failed: m_joinable, file libs\thread\src\thread.cpp, line 218</p>
<p>Könnt ihr mir sagen was das jetzt bedeuten mag <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/1315787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315787</guid><dc:creator><![CDATA[Rainu]]></dc:creator><pubDate>Sat, 30 Jun 2007 17:19:48 GMT</pubDate></item></channel></rss>