undefined reference to `_conio_kbhit'
-
Hi!
Habe eine Endlosschleife und möchte wenn der Benutzer eine Taste drückt, das Zeichen speichern und eine Funktion ausführen.
Dachte, dazu müsste es eine Funktion in der conio.h geben und bin auf _conio_kbhit() gestoßen. Er macht aber eine Linkermeldung wenn ich compile.
Ist das eine falsche Funktion oder mache ich was falsch?Dass ist die Linkermeldung:
c:\*\main.o(.text+0x4c1):main.cpp: undefined reference to `_conio_kbhit'Jemand ne Ahnung?
wer
-
Die Funktion ist zwar in der conio.h allerdings heißt sie bloß kbhit() und nicht _conio_kbhit().
Aber von kbhit() kann ich in diesem Fall nur abraten! Schau dir das mal an:
while(!kbhit()) { ; // Nichts tun } // Weitermachen
Du musst also andauernd diese Schleife durchlaufen die eh nichts macht. Das benötigt nur unnötig viele Resourcen. Wenn du "Auf einen Tastendruck des Users warten willst" dann lass ihn etwas eingeben:
char c(getch()); // Wartet sowieso automatisch auf den Tastendruck // bzw: char c = getch;
MfG SideWinder
-
Danke!
Mein Code sieht allerdings so aus:for (;;) // Mainloop { if (!kbhit()) { char c = getch(); // usw... } }
wer
-
irgendwer schrieb:
Danke!
Mein Code sieht allerdings so aus:for (;;) // Mainloop { if (!kbhit()) { char c = getch(); // usw... } }
wer
Okay das sieht mir sehr nach Spiel aus, dass auch Arbeiten muss wenn der User nichts eingibt: Dann ist kbhit() okay - aber bitte irgendwo eine Framerate-Schleife einbauen - sonst läuft es auf manchen Rechnern schneller als auf anderen!
MfG SideWinder