Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
45
Добавлен:
06.02.2018
Размер:
1.08 Кб
Скачать
#include "windows.h"
#include "stdio.h"

HANDLE map, sema;

int main()
{
	system("cls");
	sema = CreateSemaphore(NULL, 0, 1, "sema1");//создаёём семафор 
	map = CreateFileMapping((HANDLE)-1, NULL, PAGE_EXECUTE_READWRITE, 0, 1000, "map"); //построение области разделяемой памяти, разрешена запись и чтение.выделено 1000 битов
	char* buf = (char*)MapViewOfFile(map, FILE_MAP_WRITE, 0, 0, 0);//создание адресса разделяемой памяти
	Sleep(2000);
	sprintf(buf,"Secret message");
	printf ("Writed to - %s\n", buf);
	ReleaseSemaphore(sema, 1, NULL);//освобождаем семафор
	
	char *buf1 = (char*)VirtualAlloc(NULL, 1000, MEM_COMMIT, PAGE_READWRITE); //процесс разделения памяти
	for (int i=0; i<13; i++) {
		*(buf1+399*i) = 'a'+i;
		printf("%08X = %c\n",buf1+399*i, *(buf1+399*i));
	}
	getchar();
	CloseHandle(sema);
	UnmapViewOfFile(buf);//освобождение ненужный ресурсов
	CloseHandle(map);
	return 0;
}
Соседние файлы в папке лаб9