<?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[Dos.h funzt net :(]]></title><description><![CDATA[<p>Hiho <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>Ich will mit sleep eine Ausgabe verzögern mit</p>
<p>sleep(300);</p>
<p>Dos.h ist included aber es kommt die Meldung dass sleep erst mal nen Prototyp brauch. Mit delay hab ich den gleichen Fehler. Muss da noch ne andere *.h included werden? Wenn ich mir die Dos.h anschaue, dann stehen sleep und delay drin. Woran kanns liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235034/dos-h-funzt-net</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Apr 2026 17:34:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235034.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 24 Feb 2009 22:00:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dos.h funzt net :( on Tue, 24 Feb 2009 22:00:10 GMT]]></title><description><![CDATA[<p>Hiho <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>Ich will mit sleep eine Ausgabe verzögern mit</p>
<p>sleep(300);</p>
<p>Dos.h ist included aber es kommt die Meldung dass sleep erst mal nen Prototyp brauch. Mit delay hab ich den gleichen Fehler. Muss da noch ne andere *.h included werden? Wenn ich mir die Dos.h anschaue, dann stehen sleep und delay drin. Woran kanns liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1669679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1669679</guid><dc:creator><![CDATA[Andi S 0]]></dc:creator><pubDate>Tue, 24 Feb 2009 22:00:10 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Tue, 24 Feb 2009 22:06:01 GMT]]></title><description><![CDATA[<p>nur mal wild geraten:<br />
Falls das ne EasyWin-Anwendung wird, geht's wohl nicht. Aber Sleep() aus der &lt;windows.h&gt; müßte dann gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1669683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1669683</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 24 Feb 2009 22:06:01 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Tue, 24 Feb 2009 22:41:01 GMT]]></title><description><![CDATA[<p>Ne, das wird DOS. Ich probiers mal mit windows.h und Sleep groß geschrieben...</p>
<p>NE, funzt auch net <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> Kommt der gleiche Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1669699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1669699</guid><dc:creator><![CDATA[Andi S 0]]></dc:creator><pubDate>Tue, 24 Feb 2009 22:41:01 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Tue, 24 Feb 2009 22:46:08 GMT]]></title><description><![CDATA[<p>dann hast du sleep nicht in einer datei benutzt, in der du auch den benötigten header inkludiert hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1669700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1669700</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 24 Feb 2009 22:46:08 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Tue, 24 Feb 2009 22:56:08 GMT]]></title><description><![CDATA[<p>Oh Mann! Der Borland nervt. Ich muss int vorne dran setzen, dann bringt er nur noch ne Warnung von wegen die 300 in der Klammer wurde noch nie benutzt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1669703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1669703</guid><dc:creator><![CDATA[Andi S 0]]></dc:creator><pubDate>Tue, 24 Feb 2009 22:56:08 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 13:58:43 GMT]]></title><description><![CDATA[<p>windows.h ist doch schon Systemabhängig und somit kein C++ Standart mehr nehme ich an, deswegen heißt der Header nicht einfach &lt;windows&gt;, ich glaub auch der gehört eher zu Microsoft, habe ich da recht? Ich habe so wegen dem &quot;h&quot; das gefüll das das ein C-Header ist...</p>
<p>Naja, was jetzt eig eissen will:<br />
Sleep() aus windows.h ist die C++ Variante unter Windows. Stimmt's?</p>
<p>In welchem Header ist das Sleep für Linux und Mac definiert?</p>
<p>Mfg Wikinger75!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670006</guid><dc:creator><![CDATA[Wikinger75]]></dc:creator><pubDate>Wed, 25 Feb 2009 13:58:43 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 14:05:15 GMT]]></title><description><![CDATA[<p>Wikinger75 schrieb:</p>
<blockquote>
<p>windows.h ist doch schon Systemabhängig und somit kein C++ stan**** mehr nehme ich an, deswegen heißt der Header nicht einfach &lt;windows&gt;, ich glaub auch der gehört eher zu Microsoft, habe ich da recht? Ich habe so wegen dem &quot;h&quot; das gefüll das das ein C-Header ist...</p>
<p>Naja, was jetzt eig eissen will:<br />
Sleep() aus windows.h ist die C++ Variante unter Windows. Stimmt's?</p>
</blockquote>
<p>Naja im Endeffekt schon.</p>
<blockquote>
<p>In welchem Header ist das Sleep für Linux und Mac definiert?</p>
</blockquote>
<p>in &lt;unistd.h&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670016</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Wed, 25 Feb 2009 14:05:15 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 14:07:59 GMT]]></title><description><![CDATA[<blockquote>
<blockquote>
<p>Wikinger75 schrieb:<br />
windows.h ist doch schon Systemabhängig und somit kein C++ stan**** mehr nehme ich an, deswegen heißt der Header nicht einfach &lt;windows&gt;, ich glaub auch der gehört eher zu Microsoft, habe ich da recht? Ich habe so wegen dem &quot;h&quot; das gefüll das das ein C-Header ist...</p>
<p>Naja, was jetzt eig eissen will:<br />
Sleep() aus windows.h ist die C++ Variante unter Windows. Stimmt's?</p>
</blockquote>
<p>Naja im Endeffekt schon.</p>
<blockquote>
<p>Zitat:</p>
<p>In welchem Header ist das Sleep für Linux und Mac definiert?</p>
</blockquote>
<p>in &lt;unistd.h&gt;</p>
</blockquote>
<p>hmm... ist da auch das für UNIX drinne oder hat der auch einen extra Header?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670018</guid><dc:creator><![CDATA[Wikinger75]]></dc:creator><pubDate>Wed, 25 Feb 2009 14:07:59 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 14:11:43 GMT]]></title><description><![CDATA[<p>Wikinger75 schrieb:</p>
<blockquote>
<blockquote>
<blockquote>
<p>Wikinger75 schrieb:<br />
windows.h ist doch schon Systemabhängig und somit kein C++ stan**** mehr nehme ich an, deswegen heißt der Header nicht einfach &lt;windows&gt;, ich glaub auch der gehört eher zu Microsoft, habe ich da recht? Ich habe so wegen dem &quot;h&quot; das gefüll das das ein C-Header ist...</p>
<p>Naja, was jetzt eig eissen will:<br />
Sleep() aus windows.h ist die C++ Variante unter Windows. Stimmt's?</p>
</blockquote>
<p>Naja im Endeffekt schon.</p>
<blockquote>
<p>Zitat:</p>
<p>In welchem Header ist das Sleep für Linux und Mac definiert?</p>
</blockquote>
<p>in &lt;unistd.h&gt;</p>
</blockquote>
<p>hmm... ist da auch das für UNIX drinne oder hat der auch einen extra Header?</p>
</blockquote>
<p>Das ist standardisiert und heißt SUS (Single UNIX Specification) und sowohl Linux als auch Mac sind standardisiert genug um diese Methode zu unterstützen. Sollte sogar unter Windows gehen, wenn du keine Win32 Anwendung erstellst, sondern das POSIX-Subsystem nutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670024</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Wed, 25 Feb 2009 14:11:43 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 14:19:03 GMT]]></title><description><![CDATA[<blockquote>
<p>Das ist standardisiert und heißt SUS (Single UNIX Specification) und sowohl Linux als auch Mac sind standardisiert genug um diese Methode zu unterstützen. Sollte sogar unter Windows gehen, wenn du keine Win32 Anwendung erstellst, sondern das POSIX-Subsystem nutzt.</p>
</blockquote>
<p>Aha, also damit ichs verstanden habe:</p>
<p>1.)<br />
&lt;windows.h&gt; : Unter Windows.<br />
&lt;unistd.h&gt; : Unter Linux und Mac OS. (Glaub auch unter UNIX^^)<br />
&lt;?&gt; : Fals nein welche ist nun für Unix.</p>
<p>2.) Was sit SUS (Single UNIX Specification)?<br />
Mal danach googlen^^</p>
<p>3.)<br />
Es gibt folgende vordefinierte Makros:</p>
<pre><code class="language-cpp">__Windows // Für WIN!
__linux__ // Für Linux!
__unix__ // Für UNIX!
// Welchen gibt es für MAC OS?
</code></pre>
<p>Mfg Wikinger75! <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/1670035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670035</guid><dc:creator><![CDATA[Wikinger75]]></dc:creator><pubDate>Wed, 25 Feb 2009 14:19:03 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 14:34:07 GMT]]></title><description><![CDATA[<p>Wikinger75 schrieb:</p>
<blockquote>
<blockquote>
<p>Das ist standardisiert und heißt SUS (Single UNIX Specification) und sowohl Linux als auch Mac sind standardisiert genug um diese Methode zu unterstützen. Sollte sogar unter Windows gehen, wenn du keine Win32 Anwendung erstellst, sondern das POSIX-Subsystem nutzt.</p>
</blockquote>
<p>Aha, also damit ichs verstanden habe:</p>
<p>1.)<br />
&lt;windows.h&gt; : Unter Windows.<br />
&lt;unistd.h&gt; : Unter Linux und Mac OS. (Glaub auch unter UNIX^^)<br />
&lt;?&gt; : Fals nein welche ist nun für Unix.</p>
</blockquote>
<p>Es gibt nicht das UNIX. IBM hat eines (AIX), da sind die ganzen BSD Derivate oder HP's UX.</p>
<blockquote>
<p>3.)<br />
Es gibt folgende vordefinierte Makros:</p>
<pre><code class="language-cpp">__Windows // Für WIN!
__linux__ // Für Linux!
__unix__ // Für UNIX!
// Welchen gibt es für MAC OS?
</code></pre>
</blockquote>
<p>Wo hast du diese her? Allgemein gibt es so etwas nicht, daher nehme ich mal an du hast du außer einer plattformübergreifenden Bibliothek.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670047</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Wed, 25 Feb 2009 14:34:07 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 14:43:28 GMT]]></title><description><![CDATA[<blockquote>
<blockquote>
<p>3.)<br />
Es gibt folgende vordefinierte Makros:</p>
<pre><code class="language-cpp">__Windows // Für WIN!
__linux__ // Für Linux!
__unix__ // Für UNIX!
// Welchen gibt es für MAC OS?
</code></pre>
</blockquote>
<p>Wo hast du diese her? Allgemein gibt es so etwas nicht, daher nehme ich mal an du hast du außer einer plattformübergreifenden Bibliothek.</p>
</blockquote>
<p>Doch sowald ich weiß sind das vordefinierte MAKROS vom Compiler...<br />
Steht sogar in meine Buch <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>EDIT:<br />
Werden z.b mit</p>
<pre><code class="language-cpp">#ifdef __linux__
   // code
#else
   // code
#endif
</code></pre>
<p>verwendet...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670054</guid><dc:creator><![CDATA[Wikinger75]]></dc:creator><pubDate>Wed, 25 Feb 2009 14:43:28 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 14:46:13 GMT]]></title><description><![CDATA[<p>Wikinger75 schrieb:</p>
<blockquote>
<blockquote>
<blockquote>
<p>3.)<br />
Es gibt folgende vordefinierte Makros:</p>
<pre><code class="language-cpp">__Windows // Für WIN!
__linux__ // Für Linux!
__unix__ // Für UNIX!
// Welchen gibt es für MAC OS?
</code></pre>
</blockquote>
<p>Wo hast du diese her? Allgemein gibt es so etwas nicht, daher nehme ich mal an du hast du außer einer plattformübergreifenden Bibliothek.</p>
</blockquote>
<p>Doch sowald ich weiß sind das vordefinierte MAKROS vom Compiler...<br />
Steht sogar in meine Buch <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>Was für ein Buch hast du denn? Ein standardisiertes Makro das dein C++ Compiler definiert ist __cplusplus wie du siehst sind alle von dir genannten Makros inkonsistent zur Schreibweise von __cplusplus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670057</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Wed, 25 Feb 2009 14:46:13 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 14:48:18 GMT]]></title><description><![CDATA[<p>Tippgeber schrieb:</p>
<blockquote>
<p>Wikinger75 schrieb:</p>
<blockquote>
<blockquote>
<blockquote>
<p>3.)<br />
Es gibt folgende vordefinierte Makros:</p>
<pre><code class="language-cpp">__Windows // Für WIN!
__linux__ // Für Linux!
__unix__ // Für UNIX!
// Welchen gibt es für MAC OS?
</code></pre>
</blockquote>
<p>Wo hast du diese her? Allgemein gibt es so etwas nicht, daher nehme ich mal an du hast du außer einer plattformübergreifenden Bibliothek.</p>
</blockquote>
<p>Doch sowald ich weiß sind das vordefinierte MAKROS vom Compiler...<br />
Steht sogar in meine Buch <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>Was für ein Buch hast du denn? Ein standardisiertes Makro das dein C++ Compiler definiert ist __cplusplus wie du siehst sind alle von dir genannten Makros inkonsistent zur Schreibweise von __cplusplus.</p>
</blockquote>
<p>Außerdem macht es auch keinen Sinn solche Makros zu definieren, denn wo sollte man aufhören? Und abgesehen davon kann man so etwas sinnvoller unabhängig vom ISO-Standard realisieren indem man es sich a) selbst macht oder b) ein geeignetes Build-Tool verwendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670060</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Wed, 25 Feb 2009 14:48:18 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 14:54:26 GMT]]></title><description><![CDATA[<p>Naja ich dachte dadurch an folgende funktion:</p>
<pre><code class="language-cpp">void wait::Start()
{
    #ifdef __Windows
    Sleep(Time);
    #ifdef __linux__
    // Code
    #ifdef __unix__
    // Code
    #endif
}
</code></pre>
<p>Heißt die Funktion unter den anderen Systemen auch Sleep()?<br />
Ja oder?^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670065</guid><dc:creator><![CDATA[Wikinger75]]></dc:creator><pubDate>Wed, 25 Feb 2009 14:54:26 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 15:07:30 GMT]]></title><description><![CDATA[<p>Wikinger75 schrieb:</p>
<blockquote>
<p>Naja ich dachte dadurch an folgende funktion:</p>
<pre><code class="language-cpp">void wait::Start()
{
    #ifdef __Windows
    Sleep(Time);
    #ifdef __linux__
    // Code
    #ifdef __unix__
    // Code
    #endif
}
</code></pre>
<p>Heißt die Funktion unter den anderen Systemen auch Sleep()?<br />
Ja oder?^^</p>
</blockquote>
<p>Schau selber nach <a href="http://opengroup.org/onlinepubs/007908799/xsh/unistd.h.html" rel="nofollow">unistd.h</a>.</p>
<p>Und warum so kompliziert? So weit kommst du doch gar nicht du musst ja schon beim Inkludieren der Header wissen welche Betriebssystem verwendet wird und dann vereinfacht sich der Code zu</p>
<pre><code class="language-cpp">#ifdef __Windows // oder wie auch immer
   Sleep(abit);
#elif defined(_POSIX_VERSION)
   sleep(abit);
#else
#  error &quot;Unsupported platform.&quot;
#endif
</code></pre>
<p>Der Code funktioniert so übrigens nicht, da sleep in Sekunden arbeitet. Aber es gibt unzählige andere Sleep-Funktionen in unistd.h, schau einfach mal bei obigem Link (am besten die Doku von sleep aufrufen dort findest du die anderen Versionen aufgelistet).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670073</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Wed, 25 Feb 2009 15:07:30 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 15:27:43 GMT]]></title><description><![CDATA[<p>So hab jetzt folgende Code, der Systemunabhängig laufen müsste:</p>
<pre><code class="language-cpp">// Wait.hpp
/* Doppeltes einbinden verhindern! */
#ifndef WAIT_HPP_
#define WAIT_HPP_

/* Benötigte Header */
#include &lt;windows.h&gt; // Windows!
#include &lt;unistd.h&gt; // Linux, Mac OS &amp; UNIX!

class wait
{
private:
    int *Time;
public:
    wait();
    wait(int Time);
    ~wait();
    int getTime() const;
    void setTime(int Time);
    void setTimeNULL();
    void Start();
};

//----------&gt; Konstruktoren &lt;----------//
wait::wait()
{
    this-&gt;Time = new int;
}

wait::wait(int Time)
{
    this-&gt;Time = new int;
    this-&gt;Time = Time;
}

//----------&gt; Destruktoren &lt;----------//
wait::~wait()
{
    delete this-&gt;Time;
}

//----------&gt; Getter &lt;----------//
int wait::getTime() const
{
    return this-&gt;Time;
}

//----------&gt; Setter &lt;----------//
void wait::setTime(int Time)
{
    this-&gt;Time = Time;
}

void wait::setTimeNULL()
{
    this-&gt;Time = 0;
}

//----------&gt; Andere &lt;----------//
void wait::Start()
{
    /* Funktion soll Systemunabhängig sein! */
    #ifdef __Windows
    Sleep(Time);
    #elif defined(_POSIX_VERSION)
    sleep(Time);
    #else
    #  error &quot;Unsupported platform.&quot;
    #endif
}

//----------&gt;&gt; ENDE &lt;&lt;----------//

#endif
</code></pre>
<p>Das wäre jetzt z.b eine Unabhängige Klasse oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670097</guid><dc:creator><![CDATA[Wikinger75]]></dc:creator><pubDate>Wed, 25 Feb 2009 15:27:43 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 17:09:49 GMT]]></title><description><![CDATA[<p>Nein, denn windows.h gibt es nur im Platform SDK von Microsoft Windows und somit sieht ein Kompileraufruf unter Linux ungefähr so aus:</p>
<blockquote>
<p>$ g++ test.cpp -o test<br />
test.cpp:7:34: error: windows.h: No such file or directory<br />
test.cpp: In constructor ‘wait::wait(int)’:<br />
test.cpp:33: error: invalid conversion from ‘int’ to ‘int*’<br />
test.cpp: In member function ‘int wait::getTime() const’:<br />
test.cpp:45: error: invalid conversion from ‘int* const’ to ‘int’<br />
test.cpp: In member function ‘void wait::setTime(int)’:<br />
test.cpp:51: error: invalid conversion from ‘int’ to ‘int*’<br />
test.cpp: In member function ‘void wait::Start()’:<br />
test.cpp:66: error: invalid conversion from ‘int*’ to ‘unsigned int’<br />
test.cpp:66: error: initializing argument 1 of ‘unsigned int sleep(unsigned int)’</p>
</blockquote>
<p>Du musst schon um die Inkludes ein #ifdef-Block packen der den passenden Header findet je nach verwendetem System. Schaut dir mal <a href="http://www.gnu.org/software/autoconf/" rel="nofollow">autoconf</a> an damit kannst du eine Datei erstellen bzw. ein Skript welches man vorm Kompilieren aufruft dieses überprüft bestimmte Eigenschaften (zum Beispiel vorhandene Bibliotheken, die genutzte Plattform, Betriebssystem, uvm.) und stellt das bereit, so dass deine Anwendung beim Kompilieren weiß womit sie es zu tun hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670203</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Wed, 25 Feb 2009 17:09:49 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Wed, 25 Feb 2009 19:56:47 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">/* Benötigte Header */
#ifdef __Windows
   #include &lt;windows.h&gt; // Windows!
#else
   #include &lt;unistd.h&gt; // Linux, Mac OS &amp; UNIX!
#endif
</code></pre>
<p>Damit müsste es Funktionieren...</p>
<p>Thx für die Seite, die schau ich mir noch irgentwan mal in ruhe an^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670330</guid><dc:creator><![CDATA[Wikinger75]]></dc:creator><pubDate>Wed, 25 Feb 2009 19:56:47 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Sat, 28 Feb 2009 16:04:55 GMT]]></title><description><![CDATA[<p>1. war der pointer doof und damit die Aufrufe falsch, weil Sleep keinen Pointer sondern den Wert möchte - d.h. deine klasse (es hätte zwar auch ne Fkt getan, aber ok...) hat die adresse in einen int umgewandelt und so lange gesleept...<br />
2. wozu eine fkt, wie SetTimeNULL?<br />
3. gibt es Initialisierungslisten<br />
4. teilt man idr. zwischen *.h und *.cpp auf - *.hpp ist nicht so üblich, aber ich habs mal so gelassen... da man das so schön aufteilt, hat man jz die *.h schön zum mal schnell nachgucken, was gemacht wird und die *.cpp muss man nie wieder angucken - die includes werden somit auch in die *.cpp verschoben, weil du die net brauchst<br />
5. ist es doch hässlich, jedes mal wieder this-&gt; vor member zu schreiben - und unnötig<br />
6. wie gesagt, funzt das mit dem immer includen nicht so richtig - hab ich auch mal geändert<br />
7. will die sleep-fkt sekunden haben und die Sleep arbeitet mit millisekunden... damit ist auch die bezeichnung time doof - aber bissl was sollst du ja auch noch zu tun haben ^^</p>
<pre><code class="language-cpp">// Wait.hpp 
/* Doppeltes einbinden verhindern! */ 
#ifndef WAIT_HPP_ 
#define WAIT_HPP_ 

class wait 
{ 
private: 
    int time;
public: 
    wait(); 
    wait(int _time);
    int getTime() const    { return time; }
    void setTime(int _time){ time = _time; }
    void Start();
};

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

wait::wait() : time(0)
{} 

wait::wait(int _time) : time (_time)
{}

void wait::Start() 
{
    #ifdef __Windows
      #include &lt;windows.h&gt;
      Sleep(time);
    #elif defined(_POSIX_VERSION) 
      #include &lt;unistd.h&gt;
      sleep(time/1000); 
    #else
      #error Not a supported platform
    #endif 
}
</code></pre>
<p>falls du fragen hast, dann frag...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672034</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 28 Feb 2009 16:04:55 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Sat, 28 Feb 2009 16:50:37 GMT]]></title><description><![CDATA[<p>Ja klar ist das falsch, das hab ich nur mal so runtergekritzelt und später in ruhe überarbeitet. Momentan sieht das ganze so aus:</p>
<pre><code class="language-cpp">// Timer.hpp

#ifndef TIMER_HPP_
#define TIMER_HPP_

/* Benötigte Header */
#ifdef __WIN32__
   #include &lt;windows.h&gt; // Windows!
#else
   #include &lt;unistd.h&gt; // Linux, Mac OS &amp; UNIX!
#endif

class Timer
{
private:
    int Time;
public:
    Timer();
    Timer(int Time);
    ~Timer();
    int getTime() const;
    void setTime(int Time);
    void setTimeNULL();
    void Start();
};

//----------&gt; Konstruktoren &lt;----------//
Timer::Timer()
{
}

Timer::Timer(int Time)
{
    this-&gt;Time = Time;
}

//----------&gt; Destruktoren &lt;----------//
Timer::~Timer()
{
}

//----------&gt; Getter &lt;----------//
int Timer::getTime() const
{
    return this-&gt;Time;
}

//----------&gt; Setter &lt;----------//
void Timer::setTime(int Time)
{
    this-&gt;Time = Time;
}

void Timer::setTimeNULL()
{
    this-&gt;Time = 0;
}

//----------&gt; Andere &lt;----------//
void Timer::Start()
{
    /* Funktion soll Systemunabhängig sein! */
    #ifdef __WIN32__
       Sleep(this-&gt;Time);
    #elif defined(_POSIX_VERSION)
       sleep(this-&gt;Time);
    #else
       #error &quot;Unsupported platform.&quot;
    #endif
}

//----------&gt;&gt; ENDE &lt;&lt;----------//

#endif
</code></pre>
<p>Dieser Code ist schon ausführbar...</p>
<blockquote>
<p>4. teilt man idr. zwischen *.h und *.cpp auf - *.hpp ist nicht so üblich, aber ich habs mal so gelassen... da man das so schön aufteilt, hat man jz die *.h schön zum mal schnell nachgucken, was gemacht wird und die *.cpp muss man nie wieder angucken - die includes werden somit auch in die *.cpp verschoben, weil du die net brauchst</p>
</blockquote>
<p>Na klar teile ich die auf, aber Leute die das Kopieren könnens selber aufteilen :p . Ich finde das lesserlich in einer Datei besser (Fürs Forum).<br />
Außer der Code ist lang dan sollte man schon aufgeteilt Posten...</p>
<p>Mfg Wikinger75!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672054</guid><dc:creator><![CDATA[Wikinger75]]></dc:creator><pubDate>Sat, 28 Feb 2009 16:50:37 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Sat, 28 Feb 2009 17:10:28 GMT]]></title><description><![CDATA[<p>du hast offenbar noch immer nicht bemerkt, dass #error keine &quot;&quot; braucht...</p>
<p>gut - damit bleiben nur noch 4 der 7 punkte... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
aber da dir es offensichtlich egal ist, brauch ich ja au nix mehr dazu sagen...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672067</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 28 Feb 2009 17:10:28 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Sat, 28 Feb 2009 21:30:44 GMT]]></title><description><![CDATA[<blockquote>
<p>5. ist es doch hässlich, jedes mal wieder this-&gt; vor member zu schreiben - und unnötig</p>
</blockquote>
<p>Ich wätte mal da sist einer der vier übrigen gründe... <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="😃"
    /><br />
Es ist eine frage des Still's ob man this-&gt; benutzt oder weglässt, ich benutze ihn...</p>
<p>Der Rest dürfte auch Still sein und jeden selbst überlassen.</p>
<blockquote>
<p>2. wozu eine fkt, wie SetTimeNULL?</p>
</blockquote>
<p>Wozu? Damit man ihn wieder auf Null setzen kann obwohl das wo du schon recht hast unsinnige Methode ist, aber ich hatte einfach mal lust^^ ( <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> )</p>
<p>Mfg Wikinger75!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672179</guid><dc:creator><![CDATA[Wikinger75]]></dc:creator><pubDate>Sat, 28 Feb 2009 21:30:44 GMT</pubDate></item><item><title><![CDATA[Reply to Dos.h funzt net :( on Sun, 01 Mar 2009 02:53:12 GMT]]></title><description><![CDATA[<p>hmm.. hab gerad lange weile und mir is nix entspannteres eingefallen ^^</p>
<p><strong>#3</strong><br />
<a href="http://de.wikipedia.org/wiki/Initialisierungsliste" rel="nofollow">http://de.wikipedia.org/wiki/Initialisierungsliste</a><br />
Ist leider ein wenig kurz und das wichtigste fehlt... Hier im Forum gabs das Thema aber mit Sicherheit schon öfters: Die Member werden mit I-Liste nicht erst default konstruiert, sondern es wird sofort der copy-CTor aufgerufen:</p>
<pre><code class="language-cpp">bla::bla(T _member)
{
 member = _member;
}
</code></pre>
<p>wird also zu so was in etwa:</p>
<ul>
<li>erzeuge bla</li>
<li>rufe default-ctor von member auf</li>
<li>weise member einen neuen wert zu: _member</li>
</ul>
<p>in dem Fall könnte man auch schreiben:</p>
<pre><code class="language-cpp">bla::bla(T _member)
: member(T())
{
 member = _member;
}
</code></pre>
<p>also baut man es so:</p>
<pre><code class="language-cpp">bla::bla(T _member)
: member (_member)
{}
</code></pre>
<p>Es ist zwar am Anfang sehr ungewohnt aber mit der Zeit gewöhnt man sich nicht nur daran, es wird sogar sehr viel übersichtlicher...</p>
<p>Ich denke auch nicht, dass der Compiler das wegoptimieren darf... Und bei const Werten bzw Referenzen hat man eh keine andere Wahl...</p>
<p><strong>#7</strong><br />
<a href="http://opengroup.org/onlinepubs/007908799/xsh/usleep.html" rel="nofollow">http://opengroup.org/onlinepubs/007908799/xsh/usleep.html</a><br />
<a href="http://opengroup.org/onlinepubs/007908799/xsh/sleep.html" rel="nofollow">http://opengroup.org/onlinepubs/007908799/xsh/sleep.html</a></p>
<p>Außerdem ist die Klasse immernoch unnötig...</p>
<pre><code class="language-cpp">void MySleep(unsigned int milliseconds)
{
    #ifdef __Windows
      #include &lt;windows.h&gt;
      Sleep(milliseconds);
    #elif defined(_POSIX_VERSION)
      #include &lt;unistd.h&gt;
      if (milliseconds&gt;= 1000) //nicht unbedingt nötig, aber würde imho lasterror überschreiben
          sleep(milliseconds/1000);
      if ((milliseconds%1000) / 1000) //noch mal
         usleep((milliseconds%1000)/1000);
    #else
      #error Not a supported platform
    #endif
}
</code></pre>
<p>allerdings würde ich die fkt wohl Sleep nennen und die Fkt in nen namespace packen...</p>
<p>Wenns nicht gerade ne Sleep-Fkt wäre, würd ich ja fast sagen, dass es bestimmt nen tolles Beispiel für inline-asm ist ^^</p>
<p>Da bei nem Sleep die Zahlen eigentlich auch immer zur Compile-Zeit feststehen, könnte man mit templates sicherlich auch was schöneres für unix und ganze sekunden bzw. werte für unter 1s bauen...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672223</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 01 Mar 2009 02:53:12 GMT</pubDate></item></channel></rss>