017 虚拟内存 64位及内存对其 3

# 64位及内存对其
  ● 内存对齐
    ○ 内存取%页面大小
    ○ 如果内存没有对齐
      CPU无法正常读取数据
      CPU会使用错位的方式读取数据
      延缓我们对数据的操作性

  ● 获取页面大小
    ○ AMD INTER CPU x64 x86 的CPU
      页面大小 4kb
    ○ IA64 英特尔 的服务器平台
      至强CPU系列
      页面对其大小是 8kb
    ○ IA64程序运行
      32位程序

 

读取内存页面的大小

1 #include <windows.h>
2 #include <stdio.h>
3 int main()
4 {
5     SYSTEM_INFO systemInfo = {0};
6     GetSystemInfo(&systemInfo);
7     printf("%d",systemInfo.dwPageSize);    //页面大小 4kb 获取页面大小
8     return 0;
9 }

 

 

 

  ● 判断32位程序是否在64位系统下运行

 1 #include <windows.h>
 2 #include <stdio.h>
 3 #include <Shlwapi.h>
 4 
 5 #pragma comment( lib, "shlwapi.lib")
 6 int main()
 7 {
 8     BOOL bIs64;
 9     IsWow64Process(INVALID_HANDLE_VALUE, &bIs64);
10     BOOL Os =  IsOS(OS_WOW6432);
11     if(bIs64)
12         printf("32位进程运行在64位系统下!\r\n");
13     if(Os)
14         printf("Os判断 32位进程运行在64位系统下!\r\n");
15     SYSTEM_INFO systemInfo = {0};
16     GetSystemInfo(&systemInfo);
17     printf("%d",systemInfo.dwPageSize);    //页面大小 4kb 获取页面大小
18     return 0;
19 }

 

转载于:https://www.cnblogs.com/sdk123/p/7192638.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值