首页
社区
课程
招聘
如何在驱动中判断当前的操作系统为64位操作系统
发表于: 2013-5-22 18:11 9555

如何在驱动中判断当前的操作系统为64位操作系统

2013-5-22 18:11
9555
如何在驱动中判断当前的操作系统为64位操作系统,先谢谢各位大牛了。。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 4817
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
还需要判断?你的32位驱动能在64位系统中运行么???
2013-5-22 18:52
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
LZ这问题真有意思。。。

你的驱动只要加载能跑起来,就说明是32位系统。。。

64位的驱动是需要微软的签名才可以使用的。。。

再说了,就如同楼上所述,32和64的驱动也不通用啊。。。
2013-5-22 19:37
0
雪    币: 608
活跃值: (648)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
64位系统不能跑32位驱动~
2013-5-22 19:57
0
雪    币: 623
活跃值: (40)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
LZ目的是只维护一份代码,

检查64位,是很简单的事: 只要检查 IA32_EFER.LMA 位就可以了
2013-5-22 20:00
0
雪    币: 194
活跃值: (271)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我想只维护一份代码,这份代码在运行时根据系统情况对一些不同进行处理一下即可。使用时根据系统情况重新build一下。
2013-5-22 20:03
0
雪    币: 194
活跃值: (271)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
非常感谢啊。。。。
2013-5-22 20:05
0
雪    币: 65
活跃值: (112)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
if(sizeof(ULONG_PTR)==4)  32位
2013-5-22 23:53
0
雪    币: 194
活跃值: (271)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
扩展特性允许寄存器(IA-32_EFER)
LMA(IA-32e模式激活,位10):该位是只读状态位,任何对该位的写入操作都将会被忽略。当IA-32e模式和页式管理被允许后,处理器将该位置1,这表明处理器运行在兼容模式或64位模式,具体在那个模式就要看代码段描述符的L位和D位的值。LMA=0时,处理器运行在传统模式,在这个模式下,处理器处理器的行为如同标准32位的IA-32处理器。
2013-5-23 13:54
0
雪    币: 131
活跃值: (156)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hio
10
……这真的不是ia64平台?
2013-5-23 14:14
0
雪    币: 2120
活跃值: (73)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
#ifdef AMD64
XXXXXXX
#endif
2013-5-26 12:17
0
雪    币: 194
活跃值: (271)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
对,根据编译条件进行编译,现在觉得更好一点。。呵呵。。。
2013-5-26 13:19
0
游客
登录 | 注册 方可回帖
返回
//