我正在为大学做一个项目,在这个项目中,我必须从kernell call获得minix操作系统的版本。这就是我得到的(在一些帮助下):
int main (int argc, char *argv[] )
{
char M3ca1[23];
message ml;
m.m_u.m_m1.m3ca1= OS_VERSION;
char temp=_syscall(MM,69,&m);
printf("the os version is %c\n",temp);
return 0;
}我得到了多个错误。
发布于 2010-04-17 04:37:41
这段代码完成了您所要求的操作:
#include <stdio.h>
#include<minix/config.h>
int main(int argc, char**argv) {
printf("the os version is %s.%s\n",OS_RELEASE,OS_VERSION);
return 0;
}如果这是一个大学项目,我怀疑这是要求你做的事情。确定你不会被要求实现一个新的系统调用,给出操作系统版本,然后编写一个小程序来调用它?
*由于最近的一条评论,多年后编辑*
如果您想要从当前运行的数据中获取它,而不是静态的,那么您需要查看uname(2)手册页。uname将为您填充一个包含所有操作系统版本、版本、arch等的结构。
没有一台正在运行的minix机器来组合/验证快速调用和打印此信息的程序。应该是直接向前的。可能会用示例程序替换这一段。
https://stackoverflow.com/questions/2653610
复制相似问题