przekazywanie argumentów do programu

0

Witam, w jaki sposób mogę przekazywać argumenty do programu bez jego ponownego uruchamiania. W jaki sposób można to zrobić ??? Do tej pory za każdym razem jak uruchamiałem program to podawałem argumenty, teraz chcę zrobić tak jakby pętlę w programie aby nie uruchamiać go ponownie, tylko nie wiem jak mogę przekazywać do niego argumenty... strumień "cin" nie wchodzi w grę ponieważ argumenty do tego programu będzie wysyłał inny program. Chcę tak zrobić ponieważ na początku programu chcę wczytać dane do pamięci i nie chcę aby za każdym razem się na nowo wczytywały, one po prostu mają tam być a ja z nich korzystać :)

0

Sygnały, pamięć współdzielona, sockety, remote procedure call, remote method invocation, webservices... i pewnie jeszcze 100 innych sposobów ;] Dlaczego nie sprawdziłeś w google jakie są "sposoby komunikacji międzyprocesowej"?

1

Plik.

0

plik odpada, zbyt wolny. Zreszą dane przechowuję w mysql, tyle tylko że wyciągnięcie ich i przetworzenie ich do macierzy chwilę trwa, dlatego chcę aby ta macierz cały czas była w pamięci ( zużycie pamięci nie gra roli w tym przypadku ) i aktualizowała się po aktualizacji danych w mysql.
Shalom sprawdzałem komunikacje międzyprocesową, ale nie do końca o to mi chodzi. Po pierwsze program musi działać pod windowsem i linuxem a to jest już spory problem przy komunikacji międzyprocesowej. Bardziej miałem na myśli że drugi program będzie uruchamiał plik exe z jakimiś argumentami. Chciałbym też abym mógł ręcznie go uruchomić np kilka razy z rzędu i żeby ta zmienna nie była ładowana za każdym razem od nowa.

0

Tak to tylko w erze ;] Jak uruchamiasz program od nowa to wszystko startuje od nowa. Jak program jest zamykany to wszystkie jego dane znikają z pamięci. Czemu drugi program nie może pchać nowych argumentów przez socket jakiś?

0

W takim wypadku będę musiał pewnie zrobić to w ten sposób. Miałem nadzieję że po prostu uniknę tego typu eksperymentów :) Myślisz że socket będzie lepszy od dzielenia pamięci ?

1

Na pewno sockety sa bardziej multiplatformowe (cokolwiek by to nie znaczylo). Piszesz jeden kod i odpalasz wszedzie, do tego multum bibliotek jest.

0

@roserek chciałeś zarówno pod Win jak i Linuxy a tu standardu pamięci współdzielonej nie ma. W przeciwieństwie do komunikacji sieciowej.

0

Ok. Dzięki wielkie za pomoc :) Biorę się do pisania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1