Мне нужно удалить макрос CEIL, используемый в модуле ядра, и использовать функцию ceil в ядре, чтобы заменить вызывающего макрос.
Я попытался заменить функцию ceil со ссылкой на страницу руководства Linux
http://man7.org/linux/man-pages/man3/ceil.3.html#DESCRIPTION.
Мой вопрос: возможно ли преобразовать этот макрос в функцию ядра, т.е. в ceil или нет? Кроме того, здесь в коде переменные 'o' и 'rsz' объявлены как unsigned int, где тип возвращаемой функции ceil равен double. Если это возможно, как я могу это изменить?
#define CEIL(a, b) (((a) + (b-1)) / (b))
o += (((CEIL(rsz, 1024)) << 1) << n);
При редактировании приведенного выше кода в
o += ((ceil(rsz) << 1) << n)
Также я попытался включить математический заголовок в файл .c, который является
# include <math.h>
При выполнении выдает ошибку компиляции
fatal error: math.h: No such file or directory