Я пытаюсь выполнить домашнее задание, включающее изменение кода ядра в minix, и у меня самая странная проблема, которую я когда-либо видел.
Я модифицирую alloc.c на сервере pm (для тех из вас, кто знаком с minix) и добавил глобальную переменную в начало файла:
PUBLIC int logging = 0;
Затем я пытаюсь прочитать переменную в одной из своих функций, которые я добавил в ядро:
PUBLIC int do_setalloc(void)
{
printf("logging = %i\n", logging");
return (OK);
}
У меня есть тестовая программа, которая запускает этот код вне пространства ядра:
int main(void)
{
message m;
m.m1_i1 = 1;
m.m1_i2 = 1;
_syscall(MM,69,&m);
return 0;
}
Это вывод при запуске этого кода:
logging = %i
Printf на самом деле не заменяет форматирование% i действительным значением целого числа, я тут рву свои волосы, и это назначение скоро! Помогите!