• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Alternatywny sposób wywołania programu (abc.exe) w programie głównym (main.exe)

Hosting forpsi easy 1 pln
0 głosów
148 wizyt
pytanie zadane 24 marca 2021 w C i C++ przez jkm9182 Nowicjusz (220 p.)

Rozpatrzymy poniższe funkcje (w języku C): 

system("g++ -o abc.exe abc.c");
system("abc");

Funkcje te powodują, że w programie głównym (np. main.exe) wywołuje się program abc.exe w taki sposób, że program abc.exe nie otwiera się w kolejnym oknie, tylko jest "kontynuacją" czy "elementem dodatkowym" programu głównego (albo jest "połączony" z programem głównym), czyli wykona się w jednym programie część kodu main.c, cały kod abc.c i reszta kodu main.c.

Problem polega na tym, że funkcje te działają tylko wtedy, kiedy program zostanie uruchomiony z pomocą kompilatora. Jeżeli bezpośrednio włączę main.exe, program zwraca powiadomienie: 
Nazwa 'g++' nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy.
Nazwa 'abc' nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy.
W konsekwencji nie tworzy się abc.exe, więc nie może zostać uruchomiony w programie głównym.

Czy funkcje te można zmodyfikować tak, aby wszystko działało? A może istnieje inna implementacja tego mechanizmu?

komentarz 24 marca 2021 przez overcq Pasjonat (20,490 p.)

g++ nie zostaje odnaleziony w jednym z katalogów w zmiennej PATH?

1 odpowiedź

0 głosów
odpowiedź 24 marca 2021 przez Michał Muzyka Pasjonat (24,080 p.)
Musi Pan dodać ścieżkę w systemie do polecenia g++, tak samo jak uruchomi Pan CMD i wpisze g++, pokaże się, że nie jest to rozpoznawalne polecenie, program odpalany przez ide, dziedziczy te ścieżki od procesu rodzica

Podobne pytania

–2 głosów
1 odpowiedź 273 wizyt
pytanie zadane 1 marca 2021 w Systemy operacyjne, programy przez MrMoon Użytkownik (960 p.)
0 głosów
1 odpowiedź 172 wizyt
pytanie zadane 7 listopada 2018 w Ogłoszenia, zlecenia przez Skull Nowicjusz (120 p.)
0 głosów
1 odpowiedź 355 wizyt

92,083 zapytań

140,741 odpowiedzi

317,702 komentarzy

61,406 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia w koszyku, uzyskując rabat aż -50% (w dniach 24.11 - 29.11 z okazji Black Friday, a potem będzie to -30%) na bilety w wersji "Standard"! Więcej informacji na temat akademii znajdziecie tutaj. Dziękujemy Sekurakowi za tak fajną zniżkę dla Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 15% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...