2016-04-21 4 views
-1
execl("/usr/bin/cc","cc","myprog.c",NULL) 

Ich benutze die diese Zeile für den Compiler zu myprog.c in myMainProg. Aber myprog.c haben #include "math.h". Also muss ich -lm hinzufügen. Wie kann ich das machen?Wie Compiler ein Programm, die math.h Bibliothek mit execl()

+0

umgewandelt werden 'math.h' ist ein Header, keine Bibliothek. Fügen Sie keine irrelevanten Tags hinzu. – Olaf

+0

'execl ("/usr/bin/cc "," cc "," myprog.c -lm ", NULL)'? –

Antwort

1

Befehl (von Shell) Ihr Programm verknüpfen sollte sein:

cc myprog.c -o myprog -lm 

Also, wenn Sie execl verwenden möchten es von einem anderen Programm zu kompilieren, sollten Sie verwenden:

execl("/usr/bin/cc","cc","myprog.c", "-o", "myprog", "-lm", (char *) NULL); 

Edit: Ich fast vergessen bei der Verwendung execl() die Endung NULL Argument muss zu char *

+0

vielen Dank. –

Verwandte Themen