dixidix schrieb:
find /bin -type f | while read i ; do basename "$i"; sort ; done
ja das geht, allerdings haut der mir den ganzen Pfad mit raus. Gibts 'ne Möglichkeit nur dateinamen auszugeben?
äh ja, basename
Also sowas wie einen Replace-Befehl der mir das
/bin/
aus
[b]/bin/[/b]bzip2
weg radiert, so dass ich nur die dateinamen dort stehen habe.
sed "s/\/bin\///g"
Gibt es da eigentlich keine notification vom System, via auto-sensing oder so?
Sowas was z.B. unter Win2K und höher die "Netzwerkkabel entfernt"-Bubble auslöst. Oder wird da (Win) auch nur ständig gepollt?
Also wenn ich stdin von sftp "pipe", dann kann ich via "write_fd = fdopen( this->ParToChild[1], "w" );" und "fprintf(write_fd, "Hallo mein Kind!\n");" Nachrichten an den ChildProcess schicken. Dies Funktionert wunderbar nur eben nicht bei der Passwortanfrage ganz am Anfang. Das mit fprintf geschickte Passwort verschwinded im nirgendwo (d.h. sftp reagiert nicht darauf.)
mfg Stefan
Hey,
ich schreib gerade ein Programm welches die Scancodes
der Usereingabe ausliest. Ich schalte das Terminal dazu
in den Raw-Modus und weise den Keyboard-Treiber an mir die
Scancodes zu liefern...
ioctl(INPUT, KDSKBMODE, K_MEDIUMRAW);
Nun will ich diese Scancodes wieder in Ascii (unidcode?) Zeichen
umwandeln. Sodass ich also z.B. für 0x30 wieder 'a' erhalte
(was zumindest auf meine Tastatur zutrifft, aber bestimmt nicht auf jede).
Kennt jemand einen Weg um dies zu bewerkstelligen?
Ponto schrieb:
Hi,
gibt es eine Möglichgkeit eine Zeitmessung wie gettimeofday() ohne syscall zu machen?
Ich merke grad, dass ich 20% meiner Laufzeit im Kernel verbringe. Und das meiste sind die Switches von Usermode nach Kernelmode und zurück.
Wenn du nicht die Zeit messen willst und es nicht portabel sein muss gibts rdtsc. Speichert einen 64-bit unsigned integer in eax/edx.
Das Problem ist, dass Du einen nicht initialisierten Zeiger by-value an eine Funktion mysql_init übergibst, die dort vermutlich einige Dinge initialisieren soll. Aber die Funktion greift a) in ungültigen Speicher (weil der Zeiger auf nichts zeigt), hat aber b) auch keine Möglichkeit, den Zeiger selbst zu ändern (wegen by-value Übergabe). Es steht also nach dem Aufruf ohnehin nichts anderes drin als vor dem Aufruf (und da Du nicht sichergestellt hast, dass 0 drin steht, würde die if-Abfrage keine verwertbaren Ergebnisse liefern).
Du musst der Funktion einen NULL-Zeiger übergeben und den Rückgabewert auffangen, damit das klappt (alternativ kannst Du einen Zeiger auf ein lokales Objekt übergeben und den Rückgabewert als Fehlerindikator auswerten):
MYSQL* my = mysql_init(0);
if (my == 0) // fehler
// Alternativ:
MYSQL my;
if (mysql_init(&my) == 0) // fehler
hmmmmmmm schrieb:
Oh man, warum hatman solche elementaren Sachen wie sockets nicht schon lange in den std aufgenommen? Auf Plattformen, auf denen keine Sockets verfügbar sind , könnte man die socketunterstützung doch einfach auslassen.
Oh man, weil nicht alle 2 Jahre ein neuer Standard rauskommen kann.
Ich kenne das embedded Linux auf dem Board nicht (die Kernel-Version sagt ja nichts über die Linux-Zusammenstellung aus), aber schau' mal nach, ob es im Verzeichnis "/etc" ein Unterverzeichnis "rc.d" (oder so ähnlich) mit Boot-Scripts gibt. Typischer Weise gibt es ein Script "rc.local" in dem Du Kommandos eintragen kannst, die beim Booten des Systems automatisch gestartet werden.
Dort müsstest Du dann readbits- und setbits-Aufrufe einbauen.
Das Problem wird jedoch sein, dass Du das so modifizierte Script wieder in den Flash-Speicher schreiben musst, sonst ist beim nächsten Reset alles wieder futsch. Wie Du das Root-File-System im Flash-Speicher ändern kannst, musst Du in der Dokumentation zu dem Board nachlesen.
signal() stammt aus C und funktioniert deshalb nicht mit Methodenzeigern - sondern nur mit "normalen" Funktionen und statischen Methoden (das hängt vor allem damit zusammen, daß C keine Ahnung hat, was es als this an eine Methode übergeben kann). Und in einer statischen Methode kannst du nur auf statische Klassenmember direkt zugreifen - wenn du also tatsächlich eine konkrete Instanz benötigst, mußt du sie auf anderem Weg erreichen (Stichwort: Singleton).
Da kann ich beipflichten. Ich habe mich schon gewundert was das sein soll, ein Treibermodul mit einer main-Funktion? Also was Du hier machen musst ist ein Kernel-Modul oder Treiber-Modul(zwei Namen für das ein und das Selbe). Da gibt es keine main, da Du das ganze ja zum Linux-Kernel dazulinkst!
Wie Du das am besten machst wird hier beschrieben:
http://www.oreilly.de/german/freebooks/linuxdrive2ger/building.html Allerdings wird hier nur der Kernel 2.4 beschrieben. Im Grunde ist aber noch alles so wie dort beschrieben.
Etwas aktueller hast Du es hier:
http://lwn.net/images/pdf/LDD3/ch02.pdf
Falls Du weitere Fragen hast, hier gibts offensichtlich Leute, die sich damit auskennen, oder auf dieser Seite: http://kernelnewbies.org/KernelNewbies da gibts auch eine Mailing-Liste
Gruss Christian
Hallo,...
...ich wuerde gerne einen Keysym fuer eine IR-Fernbedienung haben.
(Wie) Kann man die anlegen?
Ein
xmodmap -e "keycode <code> = AnyRemoteKeysym"
funktioniert nicht.
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.
Absynth schrieb:
aber nicht im gewöhnlichen Sinn, sondern dass die ausgelagerten Teile dann beim Einlagern wieder neu compiliert werden...
Äh? Das glaube ich nicht. Wäre ja blöd, wenn man zB den Soundkarten-Treiber auslagern würde und dann Musik abspielen will und ich nun warten müsste bis das alles neukompiliert wäre