1

私は(他のものよりも)カーネルコールから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;
}

そして、複数のエラーが発生します。

4

1 に答える 1

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 のバージョンを提供する新しいシステム コールを実装して、それを呼び出す小さなプログラムを作成するように求められていないことは確かですか?

******** 最近のコメントのため、何年も経ってから編集します ***

これを静的にではなく実行中の電流から取得したい場合は、una​​me(2) マンページを参照してください。uname は、すべての OS リリース、バージョン、アーキテクチャなどを構造体に入力します。

この情報を呼び出して印刷するための簡単なプログラムをまとめたり検証したりするための実行中の minix マシンがありません。まっすぐ進むべきです。この段落をサンプル プログラムに置き換える場合があります。

于 2010-04-16T20:37:41.183 に答える