Ядро Linux - Как использовать timespec_to_ns()?
Я пытаюсь преобразовать start_time
ядра Linux task_struct
в наносекунды. Мне нужно дать ему аргумент const struct timespec *
но start_time
имеет тип struct timespec
,
Как бы я сделал его константой и указателем на timespec
структура? Пример кода:
(*kinfo).start_time = timespec_to_ns((*current).start_time);
1 ответ
Решение
Я бы порекомендовал подобрать учебник для начинающих на C, так как вам нужно быть очень хорошо знакомым с программированием на C (особенно потому, что ядро Linux использует все хитрости C в этой книге), чтобы писать код ядра (или модифицировать существующий код ядра)., Однако, чтобы ответить на ваш вопрос, вам нужно передать указатель на значение (что делается с помощью &
оператор в с). Также, пожалуйста, используйте правильный синтаксис разыменования для указателей на структуры (p->attr
).
kinfo->start_time = timespec_to_ns(¤t->start_time);