Получение версии ОС minix

У меня есть проект для университета, в котором (помимо других) я должен получить версию ОС 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;
}

И я получаю несколько ошибок.


person majnun    schedule 16.04.2010    source источник
comment
Что за множественные ошибки?   -  person Nikolai Fetissov    schedule 16.04.2010
comment
Я очень мало знаю о Minix, но, похоже, вам не хватает нескольких определений переменных. Я бы сказал, начните с Hello, world, заставьте это работать, а затем добавляйте кусочки один за другим.   -  person Benjamin Oakes    schedule 16.04.2010


Ответы (1)


Этот код делает то, что вы просите:

#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 заполнит для вас структуру всеми выпусками ОС, версиями, архитектурой и т. д.

У вас нет работающей мини-машины, чтобы собрать/проверить быструю программу для вызова и печати этой информации. Должно быть прямо. Можно заменить этот абзац примером программы.

person D'Nabre    schedule 16.04.2010
comment
Обратите внимание, что это версия во время компиляции, а не во время выполнения. - person Polluks; 03.01.2019
comment
@Polluks Пожалуйста, посмотрите на даты вопросов. По прошествии 8 лет и вопрос, и поставщик ответов были изменены, и / или часто вопрос редактировался (как в этом случае, много раз). - person D'Nabre; 06.01.2019