Undefined reference to "schlafen", aber ich habe <unistd.h>
Gut, das muss eine dumme. Hier unten ist ein kann-nicht-sein-einfacher code in C. Es kann nicht kompiliert werden sagen: "undefined reference to sleep". Aber ich denke, dass ich auch alle system-header, die ich brauche...
#include <stdio.h>
#include <unistd.h>
int main()
{
printf("Test starts.\n");
sleep(1);
printf("Test ends.\n");
return 1;
}
"Undefined reference" klingt wie es ist nicht die Verknüpfung, um etwas, das es braucht.
OS/Compiler? Ist es vielleicht sogar noch mehr code, als dies mit einem Tippfehler? Dies kompiliert und links mit gcc 4.6.1.
Welchen compiler benutzt du? Was Befehlszeile, die Sie eingeben, um es zu kompilieren? Sagen Sie uns alles, was Sie können.
OS/Compiler? Ist es vielleicht sogar noch mehr code, als dies mit einem Tippfehler? Dies kompiliert und links mit gcc 4.6.1.
Welchen compiler benutzt du? Was Befehlszeile, die Sie eingeben, um es zu kompilieren? Sagen Sie uns alles, was Sie können.
InformationsquelleAutor Mengfei Murphy | 2012-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese an der Spitze:
Dieser code ermöglicht es Ihnen, zwei verschiedene Funktionen unter dem gleichen Namen, die tun ganz dasselbe. Und es kompiliert unter verschiedenen Plattformen.
Auch, parenthesizing die
(x)
argument sorgt dafür, dass die Verzögerung ist in Ordnung, auch wenn jemand anruft, es sosleep(10+10)
WinGW
. Dies ist das erste mal, dass ich treffen mit tragbaren Probleme in der Praxis. Hast du irgendwelche andere ähnliche Beispiele?Eigentlich ist es nicht die mir einfallen, aber Sie können tun eine Menge Dinge auf diese Weise. Es ist sauber und einfach.
dies bedeutet in der Tat Arbeit, neben meiner Probleme mit den flags in codeblocks kann ich nun führen Sie den code, den ich auf einem linux-system im windows-Dank dieser header
wie buggy ist das windows Mist? zu definieren, ein makro, um diese Arbeit zu machen, wenn der header definiert? netter trick (auch wenn ich wusste, dass Sie über die
Sleep
millis Methode) habe ich bearbeitet, nur für den Fall, jemand geht1+3
dem makroInformationsquelleAutor wazabit
Wenn Sie unter dem Betriebssystem Windows gehören
windows.h
header Datei in dein Programm, und ändern Siesleep()
zuSleep()
.Würde das problem verschwunden zu bekommen.
Ich hoffe, das hilft.
Sleep()
Funktion ist in Millisekunden, während der *Nix-istsleep()
ist in Sekunden. Die *NIX-äquivalentSleep()
istusleep()
. Sehen Wazabit Antwort für den richtigen Weg, um code, der verwendetsleep()
tragbar.dies ist nur falsch
InformationsquelleAutor K Palaniswamy