zoukankan      html  css  js  c++  java
  • 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位系统下!
    ");
    13     if(Os)
    14         printf("Os判断 32位进程运行在64位系统下!
    ");
    15     SYSTEM_INFO systemInfo = {0};
    16     GetSystemInfo(&systemInfo);
    17     printf("%d",systemInfo.dwPageSize);    //页面大小 4kb 获取页面大小
    18     return 0;
    19 }

  • 相关阅读:
    strcpy
    Apple Swift中英文开发资源集锦[apple swift resources]
    c/c++指针总结[pointer summary]
    TestPointer
    66. 有序数组构造二叉搜索树[array to binary search tree]
    HDU 2112 HDU Today
    HDU 3790 最短路径问题
    HDU 2544 最短路
    模拟赛 Problem 3 经营与开发(exploit.cpp/c/pas)
    模拟赛 Problem 2 不等数列(num.cpp/c/pas)
  • 原文地址:https://www.cnblogs.com/sdk123/p/7192638.html
Copyright © 2011-2022 走看看