GNU-Fan schrieb:
Hallo,
für solche Metadaten benutzt man gewöhnlich ioctl Systemcalls.
(Oder fcntl)
Danke, werde mal morgen danach suchen. Ich hab in der Zwischenzeit das hier enddeckt:
http://lkml.org/lkml/2003/8/21/95
Das benutzt tcsetattr http://linux.about.com/library/cmd/blcmdl3_tcsetattr.htm dafuer. Sieht vielversprechend aus, weil da eine ganze Implementation den Funktionen hier ist.
serial_t *serial_open(const char *devname);
void serial_setup(serial_t *serport);
void serial_close(serial_t *serport);
void serial_write(serial_t *serport, const char *buffer, size_t n);
void serial_read(serial_t *serport, char *buffer, size_t n, int wait);
void serial_delay(int ms);
Antworter schrieb:
Warum überhaupt für Sound eine API nehmen, die sich in ein Framework für grafische OBerflächen einbettet? libasound ist die ALSA Library, und die käuft unabhängig von jedem DE und grafischer Oberfläche auf jedem Linux mit ALSA-Unterstützung. Mit etwas mehr Komfort GStreamer, das ist wenigstens freedesktop.org-Standard, auch wenn es eng mit der Glib zusammenarbeitet.
Phonon ist nicht nur DE unabhaenig, sondern System-unabhaenig. Ich kenn mich in Qt nicht so wirklich aus, aber Qt4 ist mehr als nur eine GUI-API. Ausserdem ist Qt4 modular aufgebaut, so das du nicht das ganze Qt brauchst nur fuer Phonon.
Alsa und GStreamer hast du IMHO nur in Linux.
blöde Frage: wenn es kein Objective-C ist, wieso verwendest du dann das Keyword class und kompilierst mit dem gcc statt g++? Oder ist class ein macro für struct?
Hallo,
hast du mal mit has_key geprüft, ob die Tasten dem Terminal bekannt sind?
Kriegst du denn von getch() irgendeine Zahl oder kommt da rein gar nichts?
Danke für deinen Tip, ich habe es aber mittlerweile endlich geschafft den Titel jeden Fensters auszulesen. Das reicht aus, damit der User entscheiden kann, ob mein Programm mit dem und dem Programm zusammenarbeiten oder ideln soll.
Trotzdem nochmals danke!
Hm, also Deinen Mutex initialisierst Du ja schon mal ganz gut, aber ihn dann als
Rituellen Gegenstand gegen boese Bugs im Programm in der Ecke zu lassen bringt
nix. Ein anderes Problem seh ich da wieder irgendwie mit der rand().
Ich kann mich da an einen aehnlichen Thread erinnern, vllt bringt Dir der Link
was, naja, is kein Parkhaus sondern ein Restaurand - aber ich glaube den Threads
und der Synchronisation ist das ziemlich egal
http://www.c-plusplus.net/forum/viewtopic-var-t-is-212841-and-highlight-is-restaraunt+restaurant.html
jeden deiner arbeitsauftrags prozesse durch einen fork starten, für jeden deinem arbeitsprozesse einen pipe aufmachen zu hauptprozess hin und wenn alle prozesse gestartet sind die pipes mit einer nicht blockierenden leseroutine durch laufen.
die arbeitsprozesse können ja an betimmten stellen zwischen werte an den hauptprozess senden, wovon einer der ich bin jetzt fertig wert ist, und dann beenden sich alle kindprozesse und der eltern prozess wartet einfach auf diese prozesse.
wenn das ganze im netzwerk ablaufen soll, dann sollte das natürlich über sokets gesteuert werden.
strige schrieb:
achso, desheißt bei diesem beispiel ist das nur wegen der funktion sqrt(), z.B. bei anderen math.h funktionen muss ich nicht immer linken???
habe eben auch bei man math.h kein hinweiß zum linken gefunden, aber bei sqrt() wie du sagtest..
Das sollte bei allen Funktionen aus math.h so sein. Wenn du nur konstanten (wie M_PI etc.) benutzt, musst du nicht linken.
..... schrieb:
Hallo,
Einzige Möglichkeit die ich kenne um files unter Linux zu kopieren :
system("copy test/test.gif %USERPROFILE%/");
wobei ich nicht sicher bin ob das mit %USERPROFILE% funktioniert. Gibt es denn irgendwelche Funktionen / Programme, die files kopieren können ( in C ) ?
%USERPROFILE% sowas habe ich noch nie gesehen. Wo kommt das her?
Es gibt keine vordefinierte copy Funktion. Verwende (wie bereits erwähnt) man: read(2) und man: write(2).
besserwisser schrieb:
Fabeltier schrieb:
Meine Herren, wenn Du so programmierst wie Du hier schreibst, wage ich zu bezweifeln, dass Du in absehbarer Zeit noch zum eigentlichen Problem in Deinem Programm vordringst vor lauter Syntaxfehler.
willst du deinen ausbruch an freundlichkeit erklären?
Ja. War ja nicht persoenlich gemeint, wenn das so aufgefasst wurde: sorry! Es is nur eben etwas schwer zu lesen. Vllt ist deutsch ja auch nicht die Muttersprache des OP sondern irgnedeine andere in der man einfach mal drei Konsonanten am Ende eines Wortes aneinander konkatenieren kann, vllt ist ihm ja auch der Hamster ueber die Tastatur gelaufen.. oder es gab tausend andere plausible Erklaerungen um so zu schreiben, wie zB hier:
Dammit kann ich denn Speicherbereich dann ipcs sehen. Nur möchte ich jetzttt die ersten...
Ich weiss auch nicht, aber einfach nen Text nochmal zu ueberfliegen, bevor ich auf "absenden" klicke, kann ja auch nich zuviel verlangt sein. Ansonsten faengts ja schon an beim erraten der Frage.
hallo,
ich hab die selbe frage, also wie kan man sich die externe inode table ausgeben lassen. bzw wie bekommt man informationen über eine inode OHNE stat()?
Du hast also 100 Threads, die auf eine Pipe schreiben und einen Thread, der von der Pipe liest. Der eine einsame Thread macht ausserdem ein strcmp, hat also mehr zu tun, als die anderen. Da denke ich mal, dass dieser 25% CPU-Last erzeugt, also eine ganze CPU benötigt und die restlichen schreiben halt, wenn der Haupthread mal wieder mit einem strcmp fertig ist und mal wieder was empfangen kann. Da sind die 30% etwa das, was ich erwarten würde.
IPC = Industrie-PC
Vielen Dank schon mal. das ist doch wieder etwas zum lesen. Ich habe gerade erfahren, dass auch MSXML-Bibliothek verwendet wird.
Java dürfte kein großes Problem darstellen. Auch MFC sollte gehen. Die größten Probleme sehe ich gerade bei COM/DCOM-Modulen. Aber jetzt ist erstmal sehr viel lesen angesagt :=)
da client und server auf dem gleichen rechner vorhanden sein müssen, kannst du eines der beiden programme als pfad angeben. eine lösung ist, davon auszugehen, dass der server im gleichen verzeichnis liegt wie der client. du musst dann ftok in beiden programmen genau gleich aufrufen. eine allgemein gültige lösung gibt es hier leider nicht.
argv[0], dirname(3) und snprintf werden dir dabei helfen.
Hallo,
Dein Pointer myPtr wird auf den Rueckgabewert von shmat() gesetzt das sollte afair ein void* auf eine Anfangsaddresse Deines shm sein. Den Inhalt dort ueberschreibst Du dann mit 0x2C. Dann schiebst Du myPtr um einen Index (die Laenge von einem char, also afaik zB 8 bit, dh Maximalwert bei unsigned waere dann 255, signed nur 127, dezimal) weiter und schreibst dort aber 0x80 rein - das ist zumindest fuer signed char zu gross und er wird -128 anzeigen, dezimal.
Vllt liegts ja daran. Versuchs vllt mal mit unsigned char, oder irgendwie den in char angelegten bereich umrechnen auf nen andern Typ (was de halt brauchst, und haengt auch vom System ab) und immer schoen typedefen.
Ach ja, ausserdem kannste den angelegten Bereich ja vorher auch mal mit memset() "nullen".