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 :)
Kompilacja, linkowanie itd. uruchomienie - z poziomu programu !
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Pomorskie (Stare Kabaty)
Da się.
Najprosciej będzie użyć system() link. Czyli po prostu jako argument podajesz komende kompilacji.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5
Świetnie !! Te "system()" jest jakoś wbudowane czy to może z jakiejś biblioteki ?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
- Postów: 404
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ę.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 7
Więc skompilowanie kodu innego programu z poziomu programu wymaga zainstalowanego kompilatora na komputerze ?
- Rejestracja: dni
- Ostatnio: dni
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.