Na potrzeby większego programu, który chcę napisać, napisałem programik, który skompiluje jakiś inny plik.cpp. Chciałem być pewnym, że w tym dużym programie będzie wszystko OK. No i dobrze, że sprawdziłem czy będzie działać, bo nie działa
Ktoś wie jak to napisać, żeby działało? Ja próbowałem taki kod uruchomić:
W tym samym katalogu, co wykonywany plik znajduje się ów plik test.cppKod:#include <unistd.h> char *cosik[2] ; main() { cosik[0] = "/usr/bin/g++ -o test test.cpp" ; cosik[1] = NULL ; execve("/usr/bin/g++", cosik, NULL) ; }
Pewnie źle funkcję execve wywołuję
Teraz kompliacja:
[ormi@localhost wirus]$ g++ -o cosik cosik.cpp
cosik.cpp: In function ‘int main()’:
cosik.cpp:5: warning: deprecated conversion from string constant to ‘char*’
Czyli oprócz warna wszystko OK.
Uruchomienie
[ormi@localhost wirus]$ ./cosik
g++ -o test test.cpp: no input files
BUUUUU! Nie działa