LINUX.ORG.RU

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

 ,


0

1

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



Последнее исправление: CYB3R (всего исправлений: 1)

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

delete83 ★★
()

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

anonymous
()

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

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

ilovewindows ★★★★★
()

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

anonymous
()

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

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

ttnl ★★★★★
()

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

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

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

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