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ć :)
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"?
Plik.
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.
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ś?
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 ?
Na pewno sockety sa bardziej
multiplatformowe (cokolwiek by to nie znaczylo). Piszesz jeden kod i odpalasz wszedzie, do tego multum bibliotek jest.
@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.
Ok. Dzięki wielkie za pomoc :) Biorę się do pisania.