Aktywne Wpisy
![tak-nie-wiem](https://wykop.pl/cdn/c0834752/9043ae7a05375df9b4074fa0b76c02da91150cb82f047bc167c9ffc68a6a7687,q60.jpg)
tak-nie-wiem +177
Rewolucja w technologii mobilnej, która była... ale jednocześnie jej nie było.
Okolice lat 2007 - pozostaniemy jeszcze przy tym okresie - były czasami, gdy rynkiem mobilnym rządził system Symbian. I "rządził" to mało powiedziane, był niemalże monopolistą. Pojawiały się co prawda takie rozwiązania jak Windows CE Microsoftu (rok 2002), czy BlackBerry (także 2002), ale były to rozwiązania mimo wszystko niszowe.
Tymczasem w Mountain View - niewielkim mieście z pięknym widokiem na górę
Okolice lat 2007 - pozostaniemy jeszcze przy tym okresie - były czasami, gdy rynkiem mobilnym rządził system Symbian. I "rządził" to mało powiedziane, był niemalże monopolistą. Pojawiały się co prawda takie rozwiązania jak Windows CE Microsoftu (rok 2002), czy BlackBerry (także 2002), ale były to rozwiązania mimo wszystko niszowe.
Tymczasem w Mountain View - niewielkim mieście z pięknym widokiem na górę
![tak-nie-wiem - Rewolucja w technologii mobilnej, która była... ale jednocześnie jej n...](https://wykop.pl/cdn/c3201142/566c2d87dfac98c2be167da4bbfb17d0d3dfb318eb464b23556811ffa3f73c95,w150.jpg)
źródło: T-Mobile_G1_launch_event_2
Pobierz![Wontensso](https://wykop.pl/cdn/c3397992/Wontensso_6p1Tz6MzlQ,q60.jpg)
Wontensso +10
Kurła od 3 miesięcy próbuje sprzedać działkę budowlaną 20 arów w lubuskim w okolicach gorzowa wlkp. Za dobrą cenę. Na prawdę fajna, przy lesie. Na wsi. Co jest nikt nie chce się budować? 10k odsłon na otodom i 1 telefon
#nieruchomosci
#budujzwykopem
#dom
#nieruchomosci
#budujzwykopem
#dom
Mam problem z pamięcią dzieloną (Named Shared Memory).
Mam 3 procesy, który każdy z nich ma udostępnioną pamięć (wyjście i oddzielnie wejście (są to struktury)).
Dane aktualizuje co 40ms (wejście i wyjście) w każdym z procesów.
Przykładowa funkcja udostępniająca pamięć:
http://wklej.org/hash/3d92092e78d/
Przykładowa funkcja aktualizująca pamięć (wyjście):
CopyMemory((PVOID)outpBuf, &coreout, sizeof(XXXDataTypedef));
Przykładowa funkcja tworząca zaczep pamięci udostępnionej:
TCHAR szNameCorein[] = TEXT("Global\YYY");
inhMapFile = OpenFileMapping(FILEMAPALLACCESS, FALSE, szNameCorein);
Przykładowa funkcja pobierająca pamięć:
YYYDataTypedef *temp =
(YYY_DataTypedef *) MapViewOfFile(
modhMapFile[modid], FILEMAPALLACCESS,
0,
0,
sizeof(SLAVEMODULEDATA_DataTypedef)
);
Problem jest tego typu, że po około 6-7min stabilnej pracy (zawsze), taka komunikacja przestaje działać.
Co może być przyczyną? Lub jakie są najczęstsze przyczyny takiego zachowania?
Najciekawsze jest to, że jeden proces, nie może odebrać struktury z pamięci, która jest aktywna. Pewnym sposobem to sprawdziłem, tak jakby ten proces stracił uprawnienia czy coś takiego.
Błąd to
ERROR_NOT_ENOUGH_MEMORY
gubisz gdzieś po drodze dealokację
W programie wszystko wydaje się być w porządku.
ERROR_INVALID_ADDRESS
ERROR_INVALID_ADDRESS
zaczyna występować zawsze po 10400 cykli pobrania danych. Nie ważne, z jaką częstotliwością pracuje pętla.http://wklej.org/hash/06d026c1dcb/
wkleiłem kod tylko dotyczący pamięci. Resztę usunąłem. Tak jak mówiłem, są 3 procesy. Dla uproszczenia nazwałem je ZZZ (wyjscie), XXX (wejscie), YYY (wejscie)
Wielkie dzięki za pomoc. :D Nigdy wcześniej nie używałem pamięci dzielonej, pierwszy raz mam styczność z tym zagadnieniem. :)