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

pamięć współdzielona windows c

42 Warsaw Coding Academy
0 głosów
458 wizyt
pytanie zadane 19 stycznia 2021 w C i C++ przez komboboost0 Użytkownik (570 p.)
edycja 19 stycznia 2021 przez komboboost0
Moim celem było stworzenie gry w kółko i krzyżyk dla dwóch osób. Problemem jest to, że obaj gracze zawsze są kołem (domyślna wartość) - program nigdy nie wchodzi do "if ( memoryHandler == NULL )".

Proszę poprawić mój tok rozumowania lub wskazać błąd w kodzie - po wywołaniu CreateFileMapping() przez drugi proces funkcja powinna zwrócić NULL, ponieważ pamięć na nazwę podaną w argv[1] już istnieje (uruchamiam oba programy z tym samym argumentem), więc instrukcje wewnątrz "if ( memoryHandler == NULL )" powinny się wykonać.

1 odpowiedź

+1 głos
odpowiedź 19 stycznia 2021 przez j23 Mędrzec (195,240 p.)
wybrane 19 stycznia 2021 przez komboboost0
 
Najlepsza

(...) po wywołaniu CreateFileMapping() przez drugi proces funkcja powinna zwrócić NULL, ponieważ pamięć na nazwę podaną w argv[1] już istnieje

Nie, bo: If this parameter matches the name of an existing mapping object, the function requests access to the object with the protection that flProtect specifies.

Użyj OpenFileMapping i jeśli zwróci NULL, wtedy wywołaj CreateFileMapping.

Podobne pytania

+1 głos
2 odpowiedzi 302 wizyt
0 głosów
0 odpowiedzi 1,424 wizyt
0 głosów
0 odpowiedzi 303 wizyt
pytanie zadane 21 stycznia 2022 w Sprzęt komputerowy przez Marak123 Stary wyjadacz (11,190 p.)

93,377 zapytań

142,380 odpowiedzi

322,527 komentarzy

62,725 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...