Kompilacja, linkowanie itd. uruchomienie - z poziomu programu !

Kompilacja, linkowanie itd. uruchomienie - z poziomu programu !
PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

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 :)

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Pomorskie (Stare Kabaty)
0

Da się.
Najprosciej będzie użyć system() link. Czyli po prostu jako argument podajesz komende kompilacji.

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Świetnie !! Te "system()" jest jakoś wbudowane czy to może z jakiejś biblioteki ?

mwl4
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 404
0

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ę.

PB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Więc skompilowanie kodu innego programu z poziomu programu wymaga zainstalowanego kompilatora na komputerze ?

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.