Google Maps v2 Marker zOrdering - Установить наверх

Я взял биты кода пространства, который я написал, и преобразовал его в работу в пространстве ядра (т. е. с помощью kmalloc () и т. д.), это не так сложно. Тем не менее, вы ограничены пониманием ядром C, а не пользователем, которое немного отличается .. особенно с различными стандартными типами int.

Простое связывание с пользовательским пространством DSO невозможно - ядро ​​Linux монолитно, полностью автономно. Он не использует библиотеки libc, библиотеки или другие биты, как это отмечали другие.

9/10 раз, вы найдете то, что вам нужно где-то в ядре. Очень вероятно, что кто-то другой столкнулся с той же потребностью, что и у вас, и написал некоторые статические функции в каком-то модуле, чтобы делать то, что вы хотите. Просто возьмите их и повторно используйте их.

В случае криптографии, как говорили другие, просто используйте то, что находится в ядре. Следует отметить, что вам нужно будет включить их в kconfig, который может произойти или не произойти в зависимости от того, что пользователь выбирает при его создании. Итак, следите за зависимостями и будьте ясными, вам может потребоваться взломать несколько записей в kconfig, которые также выбирают криптовый API, который вы хотите, когда выбран ваш модуль.

Итак, с одной стороны, мы «просто копируем и переименовываем материал при добавлении общего раздувания», с другой стороны, вы «говорите людям, что они должен иметь полный исходный код ядра ». Это один из причуд, который поставляется с монолитным ядром.

С Microkernel почти все работает в пользовательском пространстве, никаких проблем с привязкой к DSO для некоторых драйверов ... это не проблема. Пожалуйста, не принимайте это утверждение как подсказку для повторного запуска философии дизайна ядра в комментариях, это не входит в сферу этого вопроса.

23
задан Aiden Fry 8 February 2013 в 11:43
поделиться