Cześć wam, czy w C++/C mając w tym samym katalogu inny program w C++/C (jedynie kod źródłowy z rozszerzeniem *.cpp) da się skompilować ten program, zlinkować itd. a następnie uruchomić *.exe ? Prosiłbym o jakieś wskazówki. Dzięki wam za odpowiedzi z góry :)
Da się.
Najprosciej będzie użyć system()
link. Czyli po prostu jako argument podajesz komende kompilacji.
Świetnie !! Te "system()" jest jakoś wbudowane czy to może z jakiejś biblioteki ?
Funkcja system() może nie być tym czego jednak poszukujesz. Proponuję utworzyć proces programu gcc/g++ lub innego kompilatora przez CreateProcess, i podanie tam argumentów. Jedynie musisz znać ścieżkę do pliku exe kompilatora, i powinieneś dać radę.
Więc skompilowanie kodu innego programu z poziomu programu wymaga zainstalowanego kompilatora na komputerze ?
Więc skompilowanie kodu innego programu z poziomu programu wymaga zainstalowanego kompilatora na komputerze
Tak, albo przynajmniej dystrybuowania pakietu kompilatora razem z programem.. to da się zrobić, ale to chyba strzelanie z bomby atomowej do mrówki.
Napisz może więcej, co właściwie chcesz osiągnąć. Odpowiedz na pytania: dlaczego chcesz kompilować kod z poziomu programu? czy to musi być C++?
Jeśli chcesz napisać coś w stylu własnego IDE, to cały kompilator C++ w pakiecie może być dobrym rozwiązaniem. Ale jeśli chodzi tylko o jakąś możliwość pisania skryptów sterujących twoim programem, to lepszym rozwiązaniem będzie język specjalnie przeznaczony do tego, np. Lua.
?
Nie stawiamy spacji przed znakiem zapytania.