Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Возможно ли подключение к проекту динамических библиотек?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
zuuuuk
Доброго времени суток.

У меня небольшая программа в eclips.
Я бы хотел к проекту подключить стороннюю динамическую библиотеку. libmod.so
Подскажите это возможно?
И какие ключи при этом нужно применять?
Kabdim
Напрягая телепатические способности скажу что надо достать исходники библиотеки, перекомпилировать свои тулчейном и слинковать статически.
zuuuuk
Исходники найти очень сложно. Практически не возможно.
Может есть вариант слинковать программу с динамической библиотекой?
А компилятор, для ее компиляции применяли тот же, что и у меня.
компилировали вот так
Код
arm-none-eabi-gcc -fpic -shared ...  -o libmod.so

может часть секций оттуда удалить?
scifi
Вот тут пишут, что не получится просто прилинковать к своей программе.
В то же время динамические библиотеки загружаются и работают в обычных операционных системах. Можно разобраться в механизме загрузки и найти способ использовать библиотеку из своей программы.
zuuuuk
Цитата
Вот тут пишут, что не получится просто прилинковать к своей программе.

Я пытаюсь прилинковать эту библиотеку к своей программе.
Цитата
В то же время динамические библиотеки загружаются и работают в обычных операционных системах. Можно разобраться в механизме загрузки и найти способ использовать библиотеку из своей программы.

Вот, вот я тоже об этом подумал.
Может кто подскажет, что почитать о механизме загрузки дин. биб.
Вообще возможно ли загрузить эту библиотеку, без операционной системы? и использовать.
может есть пример кода...
AlexandrY
Цитата(zuuuuk @ Oct 19 2016, 15:28) *
Подскажите это возможно?


Библиотека не динамическая, а разделяемая.
И естественно ее можно линковать. Иначе для чего её создают?
scifi
Цитата(zuuuuk @ Oct 19 2016, 17:00) *
Может кто подскажет, что почитать о механизме загрузки дин. биб.

Гугл в помощь.

Цитата(zuuuuk @ Oct 19 2016, 17:00) *
Вообще возможно ли загрузить эту библиотеку, без операционной системы? и использовать.

Конечно. Грубо говоря, натравить на него загрузчик и сформировать образ, загружаемый в память. Этот образ можно прицепить к своему приложению в двоичном виде, чтобы он сидел в ПЗУ. Сформировать список символов с адресами после загрузки и скормить линкеру, чтобы своя программа могла обращаться к библиотеке.

Цитата(zuuuuk @ Oct 19 2016, 17:00) *
может есть пример кода...

Есть. Вот тут, к примеру.

Но это не для новичков, конечно.
Kabdim
Судя по строке, это не динамическая библиотека, а просто странный выбор расширения. попробуйте сархивировать и слинковать как обычную либу.

ЗЫ Просто ради интереса. Это не оно?
jcxz
Цитата(scifi @ Oct 19 2016, 17:22) *
Конечно. Грубо говоря, натравить на него загрузчик и сформировать образ, загружаемый в память. Этот образ можно прицепить к своему приложению в двоичном виде, чтобы он сидел в ПЗУ. Сформировать список символов с адресами после загрузки и скормить линкеру, чтобы своя программа могла обращаться к библиотеке.

осталось только понять: что будет, если эта библиотека сама обратится к функциям ОС, которой нет. smile3046.gif
zuuuuk
Цитата
Сформировать список символов с адресами после загрузки и скормить линкеру, чтобы своя программа могла обращаться к библиотеке.

scifi,
Вы могли бы вот об этом поподробнее, если не сложно.
как можно "скормить" список символов линкёру? есть ли пример?
scifi
Цитата(zuuuuk @ Oct 20 2016, 10:23) *
Вы могли бы вот об этом поподробнее, если не сложно.

Увы, нет. И лучше бросайте это гиблое дело. wacko.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.