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?