Примечание: Eclipse 4 по умолчанию стал немного лучше, ошибка 420238 закрыта:
[CSS] Сокращение использования пробелов в темах Eclipse по умолчанию
До:
После:
См. Ларс Фогель статья [112] об этом:
Если вы запустите следующую веху Eclipse 4.4 , Eclipse использует гораздо меньше пробелов и оставляет больше места для важного содержания.
(Это было бы 4,4 М5)
Хотя это на техническом уровне тривиальное изменение, я надеюсь, что это улучшит первоначальное восприятие людей при использовании Eclipse.
Огромное спасибо Даниэлю Ролке, Робину Стокеру и Дани Мегерту за большую часть работы, и большое спасибо всем заинтересованным сторонам в отчете об ошибках, чтобы принять это изменение.
По мнению экспертов, это НЕ хороший подход для передачи данных между пространством ядра и пространством пользователя. Либо полностью работать в пространстве ядра, либо только в пространстве пользователя.
Но одно решение может, использовать команды read () и write () в модуле ядра для отправки информации между пространство пользователя и пространство ядра.
Вы не можете использовать библиотеку C в модуле ядра, это еще более верно для части математической библиотеки.
Вы не можете включить модуль C пользовательского пространства в пространство ядра. Также вы уверены, что хотите этим заниматься? Эта ветка может помочь http://kerneltrap.org/node/16570 . Вы можете выполнять математические функции внутри ядра, просто поищите на http://lxr.linux.no/ нужную функцию.
Стандартные библиотеки недоступны в ядре. Сюда входят libc, libm и т. Д. Хотя некоторые функции в этих библиотеках реализованы в пространстве ядра, некоторые - нет. Не зная, что вы пытаетесь вызвать, невозможно точно сказать, следует ли вам делать то, что вы пытаетесь сделать в пространстве ядра.
Я должен также отметить, что ядро НЕ имеет доступа к FPU. Это сделано для экономии времени при переключении задач (поскольку сохранение регистров FPU добавит ненужных накладных расходов при выполнении переключения контекста). Вы можете получить доступ к FPU из пространства ядра, если действительно этого хотите, но вы должны быть очень осторожны, чтобы при этом не испортить регистры FPU пользовательского пространства.
Изменить:
Пространство ядра AFAIK отделено от пространства пользователя, как и исходный код. / usr / include предназначен для общего программирования.
Этот предполагает, что выполнение вычислений с плавающей запятой в ядре не так просто, как в коде пользовательского пространства. Другой пример, предполагающий, что это сложно.
Все еще ищу более окончательный ответ.
ну, вы не можете, вы можете переписать нужные вам функции в своем модуле, это грязно, но должно работать ...
Большое спасибо за ваши комментарии
Использование математических функций
Возможно ли создать приложение на языке C на плоскости и передать переменные из исходного файла ядра. Таким образом, приложение C вычислит переменные и отправит обратно информацию.
Исходный файл ядра (пространство ядра) ---> Приложение C (пространство пользователя)
|
<---|
Исходный файл ядра
Итак мы можем включить файл заголовка в исходный код ядра. В случае какого-либо события он передает значения в приложение C (пространство пользователя)
Подробности: Я пытаюсь изменить свои события HID-джойстика (абсолютные x, y), поэтому он может перемещаться только в улучшенное место , который будет генерироваться моим приложением, с некоторыми математическими функциями, такими как (pow, tan и т. д.).
Поэтому я использовал hid-input.c для получения необработанных событий и их изменения. который будет использоваться для подсистемы ввода через модуль ядра hid -
Ищу ваши комментарии
С уважением.
Может быть, попробовать использовать двойные кавычки (") вместо одинарных?
Операции с плавающей точкой не поддерживаются ядром. Это связано с тем, что при переключении из контекста ядра в контекст пользователя регистры должны быть сохранены. Если ядро будет использовать числа с плавающей запятой, то регистры с плавающей запятой также должны быть сохранены, что приведет к снижению производительности при каждом переключении контекста. Так как с плавающей запятой очень редко требуется, особенно в ядре, она не поддерживается.
Если вам действительно нужно: