Перейти к содержанию
    

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

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

 

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Библиотека не динамическая, а разделяемая.

И естественно ее можно линковать. Иначе для чего её создают?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

 

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сформировать список символов с адресами после загрузки и скормить линкеру, чтобы своя программа могла обращаться к библиотеке.

scifi,

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Увы, нет. И лучше бросайте это гиблое дело. :wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...