#include <windows.h> #include <stdio.h> #include <conio.h> #include <tchar.h> #define BUF_SIZE 256 TCHAR szName[]=TEXT("Global\\MyFileMappingObject"); TCHAR szMsg[]=TEXT("Message from first process."); int _tmain() { HANDLE hMapFile; LPCTSTR pBuf; hMapFile = CreateFileMapping( INVALID_HANDLE_VALUE, // use paging file NULL, // default security PAGE_READWRITE, // read/write access 0, // maximum object size (high-order DWORD) BUF_SIZE, // maximum object size (low-order DWORD) szName); // name of mapping object if (hMapFile == NULL) { _tprintf(TEXT("Could not create file mapping object (%d).\n"), GetLastError()); return 1; } pBuf = (LPTSTR) MapViewOfFile(hMapFile, // handle to map object FILE_MAP_ALL_ACCESS, // read/write permission 0, 0, BUF_SIZE); if (pBuf == NULL) { _tprintf(TEXT("Could not map view of file (%d).\n"), GetLastError()); CloseHandle(hMapFile); return 1; } CopyMemory((PVOID)pBuf, szMsg, (_tcslen(szMsg) * sizeof(TCHAR))); _getch(); UnmapViewOfFile(pBuf); CloseHandle(hMapFile); return 0; }
时间: 2024-02-10 11:09:55 浏览: 106
这是一个使用Windows API创建文件映射的C程序,主要实现了以下功能:
1. 定义了一个字符串常量szName作为文件映射对象的名称。
2. 使用CreateFileMapping函数创建一个文件映射对象,并将其句柄存储在hMapFile变量中。
3. 使用MapViewOfFile函数将文件映射对象映射到当前进程的地址空间中,并将其首地址存储在pBuf变量中。
4. 使用CopyMemory函数将字符串常量szMsg中的内容复制到pBuf指向的地址空间中。
5. 使用UnmapViewOfFile函数解除文件映射对象与当前进程地址空间的映射关系。
6. 使用CloseHandle函数关闭文件映射对象句柄。
这段程序的作用是创建一个文件映射对象,并向其中写入一段字符串,适用于多个进程之间共享数据的场景。
相关问题
#include <stdio.h> #include <string.h> #include <conio.h> #include <stdlib.h> #include <windows.h>
这是一段 C 语言代码的头文件部分,包含了一些常用的标准库和系统库,如stdio.h、string.h、conio.h、stdlib.h 和 windows.h。其中,stdio.h 提供了标准输入输出函数,如printf、scanf 等;string.h 提供了字符串操作函数,如strcpy、strcat、strlen 等;conio.h 提供了控制台输入输出函数,如getch、putch 等;stdlib.h 提供了一些通用工具函数,如malloc、free、rand 等;windows.h 则提供了一些操作系统相关的函数和数据类型。
#include <stdio.h>#include <Windows.h>#include <stdlib.h>#include <time.h>#include <conio.h>
这是一个C语言程序的头文件引用,包含了一些常用的库函数,具体解释如下:
- stdio.h:包含输入输出函数,如printf、scanf等。
- Windows.h:包含Windows系统API函数,如MessageBox、CreateWindow等。
- stdlib.h:包含常用的函数,如malloc、calloc、exit等。
- time.h:包含时间函数库,如time、clock等。
- conio.h:用于控制台字符输入输出,如getch、putch等。
这些头文件中包含的函数可以帮助我们完成C语言程序的编写和调试。如果你想在程序中使用这些函数,需要在程序开头引用对应的头文件。
阅读全文