当前位置: 首页 > news >正文

珠海网站建设报价搜狗搜索网

珠海网站建设报价,搜狗搜索网,网页制作平台有什么,郑州的做网站公司哪家好最近开发有遇到这方面的一些知识点,在此记录下。首先,什么是WOW64?在知道这个之前我觉得需要了解一下,C:\\Windows\\System32和C:\\Winodws\\SysWOW64这两个文件夹的区别,Windows系统最开始的时候出的就是32bit的系统&…

最近开发有遇到这方面的一些知识点,在此记录下。

首先,什么是WOW64?在知道这个之前我觉得需要了解一下,C:\\Windows\\System32和C:\\Winodws\\SysWOW64这两个文件夹的区别,Windows系统最开始的时候出的就是32bit的系统,所以当时给文件夹命名System32,后来出了64bit系统,为了继续用这个文件夹,就把64位的一些库放到System32里面了,所以System32这个文件夹下的所有dll全是64位的,后来为了让32位的程式也能在64位上运行,就把32位的库放到SysWOW64下了,为啥叫WOW64,是因为其中的关键技术就是WOW64技术,它的存在保证了32位程式能够在64位的系统上运行。

所以综上所述,Wow64是64bit的Windows系统里面的一个模拟器技术名字(32bitOS没有),它存在的意义是保证32bit的程式可以在64位Windows系统上正常运行。

对应这个技术的Windows API名字叫做IsWow64Process,通过调用它可以获得是否使用了WOW64技术,如果是true表示使用了,可以确定系统是64位,但是值为false并不代表系统就是32位,只是表示没有使用WOW64,情况有很多种:32位程式在32位Windows OS下运行、64位程式在64位Windows OS下运行、64位程式在ARM64位 Windows下运行所以得出结论:当参数2值是false时,IsWow64Process这个方法并不能准确的判断出Windows OS的Bit。

下面介绍下IsWow64Process函数的用法,通常用IsWow64Process都是通过GetProcAddress从Knernel32.dll中获取IsWow64Process函数首地址然后在调用,为啥不直接调用,是因为这样可以通过GetProcAddress是否调用成功来判断是否可以安全的调用IsWow64Process函数,因为可能有些系统不支持此函数。

typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE hProcess, PBOOL Wow64Process);

BOOL isWow64 = FALSE;

LPFN_ISWOW64PROCESS fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(

GetModuleHandle(L"kernel32"), "IsWow64Process");

if(fnIsWow64Process != NULL)

{

if(! fnIsWow64Process(GetCurrentProcess(), &isWow64))

{

//error

}

else

{

if(isWow64)

{

//64bit

}

else

{

//32bit

}

}

}

可以看到,isWow64是true 和false分别就对应32bit,但这是因为我的程式是Win32程式,所以可以这样写,要是程式是64位的,你用这个就没法判断了,就得考虑用我下面介绍的方式:

用如下代码代替,主要是用到GetNativeSystemInfoWindows API,和IsWow64Process区别在于,这个API是从Windows XP开始就有了,而后者是从Windows XP with SP1&2才有

SYSTEM_INFOsi;

GetNativeSystemInfo(&si);

if (si.wProcessorArchitecture ==PROCESSOR_ARCHITECTURE_AMD64 ||

si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64)

{

//"System is 64bit");

return TRUE;

}

else

{

//"System is 32bit");

return FALSE;

}

这个函数我稍微说明一下,其实它对应的就是系统环境变量PROCESSOR_ARCHITECTURE,该变量在32位系统为x86,在AMD的x64的机器和在Intel的x64机器上为AMD64,在安腾(Itanium)系统为IA64,即通过读取这个值来判断系统位数。

这个方式我比较建议使用,因为不管它对32和64位程式都是通用的。

//-----------------------------------------------------------------------------

最近有看到有关于WOW64重定向的一些说明,在网上查了下,它的使用背景时一些32位程式在64位系统上运行时,系统默认会把它的目录转向到C:\Windows\SysWOW64这个下面,这个功能默认时打开的,如果说想关闭这个功能,可以调用Wow64EnableWow64FsRedirection(BOOLEAN Wow64FsEnableRedirection),这个函数,参数为true表示开启,false表示关闭。此函式适用于想要存取原生system32目录的32位应用程序。根据预设,会启用WOW64档案系统重新导向,所以有些32位程式会先将它关闭。

http://www.mmbaike.com/news/67974.html

相关文章:

  • 网站是哪个建站公司做的分享几个x站好用的关键词
  • 优化前网站现状分析百度引擎入口官网
  • 郑州做网站九零后网络站长查询
  • 学习网页设计的网站域名查询备案
  • 华安网站建设排名怎么优化快
  • 世界顶级网站设计微信营销号
  • 网站建设规划方案搜狗收录提交
  • 网站后台界面设计网站推广公司哪家好
  • 建动画网站需要多少钱1元涨1000粉
  • 青岛网站建设公司正百度信息流怎么做效果好
  • iis 网站设置百度搜索引擎投放
  • 法律对网站建设的规制网站推广的概念
  • 公司的网站建设费用属于什么费如何推广一个项目
  • wordpress百度百科seo站长工具
  • 独立站做deal网站域名邮箱 400电话
  • 自己做的网站怎么置顶app下载推广平台
  • python做的网站如何部署东莞网站优化公司
  • 济南网站建设联系小七百度云盘搜索引擎入口
  • 网站做cdn需要注意什么2345网址导航下载
  • 网站专题页面设计规范站长工具seo查询
  • 泉州模板建站公司seo在线优化工具
  • 哪个网站可以用来做读书笔记海口关键词优化报价
  • 做网站为什么要钱湖南seo推广服务
  • 网站模板库软件今天发生的重大新闻内容
  • 专门做外卖的网站最打动人心的广告语
  • 西宁做网站的好公司seo优化资源
  • 渭南房产网站制作免费网站流量统计
  • vue.js合作做网站么如何免费创建自己的平台
  • 网站图片alt属性设置营销策略有哪些理论
  • 西安市网站建设公司程序员培训