Я пытаюсь напечатать некоторую статистику о структуре дыр в ядре MINIX 3, я изменил файл alloc.c, чтобы напечатать количество дыр в списке, количество итераций до того, как дыра в списке была найдена, и средний размер отверстия. Я использую printf для печати на консоли, но он продолжает выводить спецификаторы типа на экран консоли. Вот кусок моего кода:
printf("Total number of holes: %i\n", numHoles);
вывод:
Total number of holes: %i
Он печатает спецификатор, как если бы он не распознал спецификатор типа. Я объявил numHoles как int numHoles = 0;
и просто увеличил его в структуре цикла. Я также добавил #include <stdio.h>
в начало файла. Что я делаю неправильно?
%d
или%u
? - person William Pursell   schedule 17.10.2015printf()
может отсутствовать в ядре, обычно есть более простая функция. - person Barmar   schedule 17.10.2015%f
тоже не всегда реализуется. Попробуйте базовый тест с%d
и, если необходимо, приведите значение с помощью(int)
- person Weather Vane   schedule 17.10.2015printk()
. - person Barmar   schedule 17.10.2015