execl
-
Die Zeile macht mir nen Speicherzugriffsfehler beim Debug.
Beim Programmdurchlauf bricht es ohne Fehlermeldung ab - was es aber auch nicht tun soll.
Btw.: das Tagfile wird erstellt.execl ( "/usr/bin/ctags" , "ctags" , tagfile , argv[optind] , (char *) NULL );
'tagfile' ist das:
char tmpfile[] = "tags.XXXXXX"; mktemp ( tmpfile ); char tagfile [256]; sprintf ( tagfile , "-f /tmp/%s" , tmpfile );
'argv[optind]' ist laut gdb "main.c"
Please...
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C 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.
-
...hab da jetzt nen fork() gemacht, und damit laufen ja zwei Threads.
Mus das sein? - Warum muss das sein?
-
fork erzeugt Prozess und keine Threads. Außerdem solltest du snprintf benutzen.
-
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.