execl() ERSETZT den aktuellen prozess mit dem neuen.
ausserdem sind in "-f /tmp/file" zwei argumente enthalten, sollte also nicht als ein argument an exec gegeben werden.
Hi!
beim Linken gehst du folgendermaßen vor:
gcc -o test main.o bla.o foo.o libmeinelib.a
Die Header musst du in ein Verzeichniss reingeben, wo sie der Compiler auch finden kann, oder du gibts das Verzeichnis beim Compilieren mit an:
gcc -c -o test.o test.c -IdeinIncludeVerzeichniss
mfg
Dafür nimmt man iptables. Mit denen kannst du jede Verbindung umleiten und der Vorteil ist, dass das deutlich schneller sein dürfte, als jede im Userspace gefrickelte Lösung.
rüdiger schrieb:
Warum soll es denn ein Terminal sein, wenn du ohnehin nur Informationen ausgeben willst? Warum erzeugst du dafür nicht einfach ein Fenster mit irgend einem GUI Toolkit? Das mit dem Terminal stell ich mir unpraktisch vor.
Vielleicht hast du recht, ich greife einfach zu gtk und erstelle ein Fenster.
Trotzdem vielen Dank für deine Hilfe
lagalopex schrieb:
Gibt es denn einen Fehler bei write?
Welche Baud-rate ist denn eingestellt?
Was ist das für ein fd beim write?
Nein, write() gibt wie erwartet die Anzahl geschriebener Bytes zurück.
Die tio settings stelle ich auf 9600 BAUD. Das Programm zum Horchen (screen oder minicom) ist auf die gleiche Geschwinidkeit konfiguriert.
Ich habe kein Problem beim Lesen von der seriellen Schnittstelle. Beim Schreiben gibt's auch kein Error. Es kommt einfach nix aus der Schnittstelle raus.
Liegt das an den TIO-Settings (c_oflag), die ich setze?
Ok, Problem gelöst, Valgrind sei Dank.
Der Legacycode legt mehrere Arrays an. Eines davon nicht von 0 bis n-1, sondern von 1 bis n. Ich weiß nicht, warum man bei 1 anfängt, ist auch unerheblich.
Der Punkt war der, dass ich natürlich über die Grenze hinausgeschrieben habe.
(Toll nur, dass mir das kein einziges Programm sagt. Mit MSVC geht sowas besser... egal)
Aber mit Valgrind konnte ich die Stelle finden und nun meine Leaks behandeln. Die aus dem Legacycode leider nicht, aber den darf ich auch nicht ändern...
Aber die o.g. Frage zum gleichzeitigen Verwenden von malloc/free und new/delete in einem Programm, wobei die einzelnen Allokationen und das Freigeben durchaus gültig mit der richtigen Kombination geschehen, interessiert mich trotzdem noch.
Kann da jemand was zu sagen?
DarthZiu schrieb:
Moin.
Ich möchte unter SuSe Linux e-mails, die für einen bestimmten User eingehen, automatisiert verarbeiten.
Es läuft postfix als MTA und die mails, die ankommen, werden wie erwartet in /var/mail/username abgelegt.
Nun ist die Frage wie ich "am Saubersten" an die mails (den Inhalt der mails) herankomme. Ist es der einzige Weg, dass ich die Textdatei aus dem /var/mail Ordner öffne und auslese? Oder gibt es da ne bessere Methode?
Gibt es vielleicht schon irgend eine Library, welche die mails parsen kann? Oder muss ich das "zu Fuß" erledigen?
Viele Grüße
Schritt 1: finde heraus in welches Format die Mails dort abgelegt werden, z.B. mbox oder Maildir
Schritt 2: suche eine Bibliothek für das entsprechende Format
Und ja es ist so gedacht, dass du die Dateien dort öffnest und ausliest. Beachte ggf. locking, siehe hier für postfix: http://www.postfix.org/postconf.5.html#mailbox_delivery_lock
Wenn es sich um maildir handelt ist kein locking nötig, bei single-file mailboxes ist natürlich ein lock notwendig. Ich habe lokal kein Postfix installiert, aber laut dem Link sollte dir ein postconf -l weiterhelfen.
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.
Wurde zwar schon gesagt, aber lass mich das nochmal unterstreichen: Die Configfiles rührst Du beim Entfernen des Programms nicht an.
Wenn Deine User sie entfernen wollen, dann löschen sie einfach selbst ~/.namedeinesprogramms und die Sache ist erledigt.
Das ist keine make Anweisung. Vermutlich ist es ein Compilerparameter (also zB in den CFLAGS oder in irgend einem Compileraufruf). -Wl sagt dem man: gcc, dass er das Flag -whole-archive an den Linker uebergeben soll. Was das Flag genau macht, solltest du in der Linker-Dokumentation nachlesen koennen: man: ld
Verwunderter Leser schrieb:
knivil schrieb:
Vim!
Seit wann ist Vim eine Entwicklungsumgebung? :p
Mit einigen Plugins ist es eine...
http://www.habermann-net.de/de/ide.html