Jump to content

    
Sign in to follow this  
zuuuuk

Возможно ли подключение к проекту динамических библиотек?

Recommended Posts

Доброго времени суток.

 

У меня небольшая программа в eclips.

Я бы хотел к проекту подключить стороннюю динамическую библиотеку. libmod.so

Подскажите это возможно?

И какие ключи при этом нужно применять?

Share this post


Link to post
Share on other sites

Напрягая телепатические способности скажу что надо достать исходники библиотеки, перекомпилировать свои тулчейном и слинковать статически.

Share this post


Link to post
Share on other sites

Исходники найти очень сложно. Практически не возможно.

Может есть вариант слинковать программу с динамической библиотекой?

А компилятор, для ее компиляции применяли тот же, что и у меня.

компилировали вот так

arm-none-eabi-gcc -fpic -shared ...  -o libmod.so

может часть секций оттуда удалить?

Share this post


Link to post
Share on other sites

Вот тут пишут, что не получится просто прилинковать к своей программе.

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

Share this post


Link to post
Share on other sites
Вот тут пишут, что не получится просто прилинковать к своей программе.

Я пытаюсь прилинковать эту библиотеку к своей программе.

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

Вот, вот я тоже об этом подумал.

Может кто подскажет, что почитать о механизме загрузки дин. биб.

Вообще возможно ли загрузить эту библиотеку, без операционной системы? и использовать.

может есть пример кода...

Share this post


Link to post
Share on other sites
Может кто подскажет, что почитать о механизме загрузки дин. биб.

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

 

Вообще возможно ли загрузить эту библиотеку, без операционной системы? и использовать.

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

 

может есть пример кода...

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

 

Но это не для новичков, конечно.

Share this post


Link to post
Share on other sites

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

 

ЗЫ Просто ради интереса. Это не оно?

Share this post


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

осталось только понять: что будет, если эта библиотека сама обратится к функциям ОС, которой нет. :smile3046:

Share this post


Link to post
Share on other sites
Сформировать список символов с адресами после загрузки и скормить линкеру, чтобы своя программа могла обращаться к библиотеке.

scifi,

Вы могли бы вот об этом поподробнее, если не сложно.

как можно "скормить" список символов линкёру? есть ли пример?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this