Das Programm kompiliert, nur leider wird kein Text beim Tastendruck ausgegeben.
Zunaechst geht es darum ueberhaupt eine Reaktion zu erreichen. Das Programm reagiert aber leider auf keinen Tastendruck, egal welchen man nimmt. Habe es ach mit Buttton3 versucht ohne Erfolg.
Bei der Frage von Stackoverflow funktioniert zumindest die linke Maustaste bei mir gar nichts. Was noch verwirrender ist.
Die Seite von ncurses http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/mouse.html ist ja im Prinzip der Code den ich benutze (mit dem Unterschied das dort wgetch(window) verwendet wird und ich getch(), da ich nur eine Terminal Umgebung verwende)
Wuerde mich ueber weitere Tipps freuen.
@esgol
Es ist zwar nett, dass du versuchst hier zu helfen. Aber leider hast du das Thema selbst nicht ganz verstanden. Der Thread wurde schon längst beantwortet und das Problem geklärt. Du kannst dir gerne die Antworten hier durchlesen und selbst versuchen draus zu lernen. Siehe zB meine Antwort und die zahlreichen Links: http://www.c-plusplus.net/forum/p2260365#2260365
Closed
Ich mochte auch ein Multi-Server client auf dem Linux programmieren.
Sehr viele leute auf dem Internet haben mich dieser manual geraten
Beej's Guide to Network Programming
http://beej.us/guide/bgnet/
Aber kenne ich nicht wenn dieser manual wirclich gut ist, weil ich ihn noch nicht gelesen habe.
P.S.
(Ouch! Ich glaube der Syntax auf dem letzte phrase shreklich gewesen ist. Nein? :SS )
-o gibt bloß die ausgabedatei an, egal was du machst. Das hat nichts mit compilieren oder linken zu tun. Mit -o kannst du auch direkt wieder den Quelltext in eine andere Datei schreiben, wenn du bloß die anderen Schalter so setzt, dass einfach nix gemacht wird.
Der gcc ist eben ein Rundumsorglospaket, das in dem gleichen Programm Präprozessor, Compiler, Optimierer, Assembler und Linker vereint hat (wobei dahinter aber durchaus teilweise eigene Executables stehen) und daher auch in der Lage ist, alles in einem Rutsch zu machen, so dass es für den Nutzer wie ein einziger Schritt aussieht. Ist es aber nicht.
Danke für's verschieben. Die Sache mit dem Wald und lauter Bäume ...
Ich "dachte", auf Grund meiner Signatur wäre es klar, dass ich kein Win-Nutzer bin
Gruss
tux
Dir ist klar, dass du das Problem so oder so generell lösen müssen wirst, oder? Unabhängig davon, welches Buildsystem benutzt wird, müssen, um Testprogramme für Libraries durch valgrind zu jagen, vor dem valgrind-Aufruf die Linkerpfade passend gesetzt werden, und das geschieht eigentlich immer durch ein Skript nach libtool-Art.
Du kannst jetzt natürlich für jedes Buildsystem ein eigenes kleines Skript ausliefern, aber über die Sinnhaftigkeit dieses Ansatzes kann man sich streiten -- zumal es sich ja jeweils um einen Einzeiler handeln dürfte. Was man in solchen Fällen häufiger sieht, ist eine Konfigurationseinstellung, die ein bisschen wie ein Format-String für strftime aussieht. Etwa
valgrind --tool=memcheck --xml=yes --xml-file %x %p %a
...wobei %x durch den Namen der xml-Datei, %p durch den Programmpfad und %a durch die Argumente ersetzt wird (Bezeichner natürlich beliebig wählbar). Dann kann sich jeder seinen Aufruf kurz selbst zusammenschreiben.
Marsi Motolami schrieb:
wo liest du denn die Daten, die du weiterschicken sollst? In einem Kernel-Modul oder als normales Programm?
Die Daten hole ich mir über ein Kernel-Modul von der PCIe Schnittstelle. Wie das genau abläuft habe ich noch nicht rausgefunden, aber das wird schon. Aktuell lese ich mich in das Thema ein und ich finde dieses Buch ganz gut. Wobei ich hier in Papierform die 3. Auflage zur Verfügung habe.
Mechanics schrieb:
Eine andere wäre blockierende IO, also dein Treiber registriert einen Device, der Daemon macht das Device auf und liest Daten, und wenn keine verfügbar sind, blockiert der Treiber eben, bis welche da sind.
So habe ich es letztlich vor.
Marsi Motolami schrieb:
Der Netzwerkdaemon läuft im Userspace üblicherweise in einer Endlosschleife, genau wie auf deinem Microcontroller.
Das mit der Endlosschleife war mir schon klar, nur wollte ich eben kein Programm, das meine CPU zu 100% auslastet bzw. das ich ineffizient mit nanosleep() o.ä. schlafen lege. Da ich die ganze Kommunikation mittels sockets mache, bin ich ganz glücklich drüber, dass select() den Daemon so lange schlafen legt, bis es eben was zu tun gibt.
+ natürlich ein Dankeschön an Bashar für den Tip. Ob es nun so gedacht ist, oder nicht, es lässt sich tatsächlich ein pointer auf die instance übergeben und dann darauf zugreifen...
Ist nicht hilfreich sondern sogar schädlich.
http://www.c-plusplus.net/forum/272350-full
Das für C und C++ Gesagte gilt auch für alle anderen Themen, an denen Pfuscher JW sich versucht.
Hi(gh)!
mieser Schimmler schrieb:
Wutz schrieb:
"%lc" ist erst C95
Ja, und? Wir haben 2012. Der aktuelle C-Standard ist C11. Bei jeder Erwähnung von Features, die nicht schon in Prä-K&R-C enthalten waren, kommst du daher und merkst das an, als sei es etwas schlechtes.
Oh, ein Traditionalist! Den Kernighan & Richie habe ich hier auch noch stehen, in einer Auflage von 1983...
Bis bald im Khyberspace!
Yadgar
Ich habe mich in der Zwischenzeit nochmal ein wenig umgeschaut. Es scheint so zu sein, das mein Programm die verwendeten Symbole zB.
v8::Local<v8::ObjectTemplate>
beim laden nicht auflösen kann. Gibt es irgendeine Möglichkeit dies zu ändern, bzw. die unbekannten Symbole zu verknüpfen?
siehst du doch an deiner ausgabe (achte auf die zeilenumbrüche)
token2 soll test.html enthalten.
vom client kriegst du sowas: "GET /test.html\r\n" readline liest nur bis zum \n. du spaltest das am leerzeichen und guckst dann ob das erste token GET is. Soweit korrekt. Das zweite token "/test.html\r" bearbeitest du, indem du den slash entfernst. Also hast du jetzt "test.html\r" und dass fopen diese datei nicht finden kann ist doch klar.
Lies dir nochmal das http rfc durch da steht irgentwo, dass eine zeile mit \r\n (carriage und return) aufhören muss nicht nur mit \n was du ja laut deinem code annimmst.
probier mal ein strlen(token2) und ein strlen("test.html"). Du wirst verschiedene ergebnisse bekommen.
//edit
so wies aussieht lässt deine readline funktion auch das \n dran. Musst du also beides entfernen.
mfg tobZel
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.