【发布时间】:2013-11-29 19:36:56
【问题描述】:
我正在寻找一种方法来了解我的 linux 系统的 cpu 是否在 64 位模式下运行。我必须为大学编程。我的想法是创建一个类似函数的东西来为我提供这些信息。我不确定我应该如何开始。有人可以给我一个想法吗?我的大学给了我一个代码,但我无法检查 main 发送到 funktion is64bit 的参数的长度。 我的代码是这样的:
int main()
{
uint32_t msr = assembleMSR( 0, 0, 0, 0 );
printf("assembled MSR is %#x, should be 0\n", msr);
printf("is64BitMode(&msr) should be 0, is %d\n", is64BitMode(&msr));
printf("is64BitMode(&msr) should my EXAMPLE, is %d\n", is64BitMode(&msr2));
enableInts( &msr);
printf("MSR with ints enabled is %#x, should be 0x8000\n", msr);
return 0;
}
int is64BitMode ( uint32_t *MSR ) {
int longi=sizeof(MSR);
printf("longi de size of%d\n", longi);
printf("%d\n", __WORDSIZE);// with this sentence i know that my cpu is running on 64 bits.
(void) MSR;
return 0;
/* TODO */
}
【问题讨论】:
标签: function linux-kernel cpu 32bit-64bit generic-programming