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

pamięć współdzielona windows c

0 głosów
502 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,220 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 360 wizyt
0 głosów
0 odpowiedzi 1,635 wizyt
0 głosów
0 odpowiedzi 356 wizyt
pytanie zadane 21 stycznia 2022 w Sprzęt komputerowy przez Marak123 Stary wyjadacz (11,190 p.)

93,608 zapytań

142,533 odpowiedzi

323,004 komentarzy

63,101 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

Kursy INF.02 i INF.03
...