我正在为大学开设一个项目,其中(以上)我必须从kernell电话获得minix os版本。这就是我所得到的(有了一些帮助):
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;
}
我得到了多个错误。
答案 0 :(得分:0)
此代码可满足您的要求:
#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;
}
如果这是一个大学项目,我怀疑这是对你的要求。当然你没有被要求实现一个提供os版本的新系统调用,然后写一个调用它的小程序?
********由于最近的评论***,多年后编辑
如果要从正在运行的当前而不是静态获取此值,则需要查看uname(2)联机帮助页。 uname将为您填写所有操作系统版本,版本,拱形等等的结构。
没有正在运行的minix机器放在一起/验证快速程序来调用和打印此信息。应该是直截了当的。可以用示例程序替换这一段。