建立一个控制台程序,查看系统物理内存大小、页文件大小、虚拟内存大小。2、使用VitualAlloc()和malloc()分配一定数量的虚拟内存空间和物理内存空间,再次按1的要求查看相关内存参数。 2、使用VitualFree()和free()
时间: 2024-02-07 12:02:09 浏览: 28
好的,以下是回答:
1. 查看系统物理内存大小、页文件大小、虚拟内存大小可以使用系统API函数GlobalMemoryStatusEx(),它可以获取系统的内存状态信息,包括物理内存、虚拟内存和页文件的大小。具体代码实现如下:
```
MEMORYSTATUSEX statex;
statex.dwLength = sizeof(statex);
GlobalMemoryStatusEx(&statex);
printf("物理内存大小:%llu MB\n", statex.ullTotalPhys / 1024 / 1024);
printf("虚拟内存大小:%llu MB\n", statex.ullTotalVirtual / 1024 / 1024);
printf("页文件大小:%llu MB\n", statex.ullTotalPageFile / 1024 / 1024);
```
2. 使用VirtualAlloc()和malloc()分配一定数量的虚拟内存空间和物理内存空间,可以通过以下代码实现:
```
int size = 1024 * 1024 * 100; // 分配100MB内存空间
LPVOID pVirtual = VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE);
if (pVirtual != NULL) {
printf("已成功分配%dMB虚拟内存空间\n", size / 1024 / 1024);
}
char* pMalloc = (char*)malloc(size);
if (pMalloc != NULL) {
printf("已成功分配%dMB物理内存空间\n", size / 1024 / 1024);
}
```
3. 使用VirtualFree()和free()释放之前分配的内存空间,可以通过以下代码实现:
```
VirtualFree(pVirtual, 0, MEM_RELEASE);
free(pMalloc);
```
释放之后,再次调用GlobalMemoryStatusEx()获取内存状态信息即可。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)