LINUX.ORG.RU

вызов функций одного модуля из другого

 ,


0

1

Привет! Пытаюсь написать несколько модулей ядра в образовательных целях, в связи с чем есть вопрос: как можно вызвать функции, которые определены но не содержатся в директиве EXPORT_SYMBOL в одном модуле, из моего самописного модуля?

Правильный ответ «никак»? Я ведь угадал?

delete83 ★★ ()

Элементарную матчасть поизучай, пока уроки не начались - не будешь такой тупняк нести.

anonymous ()

Узнать адрес модуля (или сегмента кода) по которому загружен модуль,
Узнать смещение функции внутри модуля, фик знает как , по мапу модуля при компиляции, например. Завести переменную указатель на функцию, присвоить значение указателю адрес модуля + смещение , вызвать.
Где-то так , наверное, чем закончится и нафика это нужно непонятно.

Просто перекомпилять нужный модуль с нужным импортом , не ?

ilovewindows ★★★★★ ()

Скопировать код в свой сорец.

anonymous ()

как можно вызвать функции, которые определены но не содержатся в директиве EXPORT_SYMBOL в одном модуле, из моего самописного модуля?

Исключительно через пятую точку, увы

ttnl ★★★★★ ()

а как же инкапсуляция, все дела, если в си нет private, то это же не значит, что можно любую функцию, в любом контексте дёргать?

dimon555 ★★★★★ ()
Ответ на: комментарий от dimon555

можно, разрешаю. Тут вопрос о том, как её адрес узнать.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.