Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > динамическая подгрузка объектного файла


Автор: boostcoder 26.10.2010, 01:39
вопрос возможно неправильно сформулирован..так что сорри.
любопытно, можно ли подгрузить объектный файл(или кусок объектного кода) в рантайме, и как-то выполнить его?

спасибо.

Автор: djamshud 26.10.2010, 01:53
Динамическая библиотека считается объектным файлом? Тогда dlopen и дальше по ману. Также можно использовать в качестве "хака" - для вызова функции внутри программы по имени.

Автор: boostcoder 26.10.2010, 01:58
Цитата(djamshud @  26.10.2010,  01:53 Найти цитируемый пост)
Динамическая библиотека считается объектным файлом?

кажется нет. не уверен.

Автор: MAKCim 26.10.2010, 10:26
объектный файл нельзя
но объектный всегда можно сделать so и загрузить

Автор: boostcoder 26.10.2010, 10:28
Цитата(MAKCim @  26.10.2010,  10:26 Найти цитируемый пост)
объектный всегда можно сделать so

т.е. компоновать его находу? при помощи ld ?
или какие-то мегахитрые функции есть?

Автор: djamshud 26.10.2010, 10:59
gcc -shared -o myobject.so myobject.o

А дальше вытягивать нужную функцию и вызывать. Ничего мегахитрого нет.

Автор: boostcoder 26.10.2010, 11:10
djamshud, компоновать на ходу - мне не подходит. по идее, мне нужна ВМ работающая с байт-кодом. просто я изначально об этом не вспомнил.
http://ru.wikipedia.org/wiki/Parrot вроде бы подходит.

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

всем спасибо. вопрос закрыт.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)