Вопросы с тегом 'dynamic-linking'

Динамическое связывание - это система, которая позволяет библиотекам оставаться отдельно от программ до загрузки, противопоставлять статические ссылки.
18

Когда использовать динамические и статические библиотеки

При создании библиотеки классов в C++ вы можете выбирать между динамическими (.dll, .so) и статическими (.lib, .a) библиотеками. В чем разница между ними и когда уместно использовать какие?
26 сент. '08 в 15:02
15

Статическое связывание и динамическое связывание

Есть ли какие-либо убедительные соображения производительности для выбора статической привязки к динамической компоновке или наоборот в определенных ситуациях? Я слышал или читал следующее, но я не знаю достаточно на эту тему, чтобы ручаться за его п...
03 янв. '09 в 0:06
5

Что означает "статически связанное" и "динамически связанное"?

Я часто слышу термины "статически связанные" и "динамически связанные", часто ссылаясь на код, написанный в C, C++ или С#, но я не знаю много все об этом. Что они, о чем они говорят, и что они связывают?
22 нояб. '08 в 23:09
4

Вызовите функции Go из C

Я пытаюсь создать статический объект, написанный в "Перейти к интерфейсу с помощью программы на языке C" (например, модуль ядра или что-то еще). Я нашел документацию о вызове функций C из Go, но я не нашел много о том, как идти другим путем. Я обнар...
25 мая '11 в 14:02
4

Что делают линкеры?

Я всегда удивлялся. Я знаю, что компиляторы преобразуют код, который вы пишете в двоичные файлы, но что делают линкеры? Они всегда были для меня загадкой. Я грубо понимаю, что такое "связывание". Это когда ссылки на библиотеки и рамки добавляются в ...
23 июл. '10 в 22:44
2

Передача gcc непосредственно для связывания библиотеки статически

Мне кажется странным использовать -Wl,-Bstatic, чтобы сообщить gcc, какие библиотеки я хочу связать со статически. В конце концов я рассказываю gcc напрямую всю другую информацию о связи с библиотеками (-Ldir, -llibname). Можно ли напрямую указать ...
05 июл. '11 в 6:03
1

Что происходит с глобальными и статическими переменными в общей библиотеке, когда она динамически связана?

Я пытаюсь понять, что происходит, когда модули с глобальными и статическими переменными динамически связаны с приложением. По модулю я имею в виду каждый проект в решении (я много работаю с визуальной студией!). Эти модули либо встроены в *.lib, либо...
15 окт. '13 в 3:58
1

Слабые псевдонимы символов на OS X, похожие на Linux, или ближайший эквивалент?

Что я делаю При написании разделяемых библиотек для Linux я стараюсь обратить внимание на перемещение, видимость символов, GOT/PLT и т.д. Когда это применимо, я пытаюсь избежать вызова PLT-заглушек, когда функции из одной библиотеки вызывают друг...
15 авг. '13 в 19:27
4

Печать rpath исполняемого файла в OSX

Я хочу изменить rpath исполняемого файла с помощью install_name_tool, но я не могу понять, что такое rpath прямо сейчас. install_name_tool требуется как старая, так и новая rpath для передачи в командной строке. Какую команду я могу использовать для...
20 сент. '12 в 22:26
1

Почему gcc не неявно снабжает флаг -fPIC при компиляции статических библиотек на x86_64

У меня было множество проблем с компиляцией общих объектов, которые статически ставят статические библиотеки. Эта проблема возникает только на платформах x84_64. При выполнении одной и той же работы компиляции на x86_32 у меня нет никаких проблем. В...
18 окт. '10 в 17:00
3

Связывание двух разделяемых библиотек с некоторыми из тех же символов

Я связываюсь с двумя разными разделяемыми библиотеками. Обе библиотеки определяют некоторые символы, которые имеют имя, но имеют разные реализации. Я не могу заставить каждую библиотеку использовать свою собственную реализацию по сравнению с другой. ...
30 июн. '11 в 17:11
3

Как связать использование GCC без -l или пути hardcoding для библиотеки, которая не соответствует соглашению об именах libNAME.so?

У меня есть общая библиотека, которую я хочу связать с исполняемым файлом от использования GCC. В общей библиотеке есть нестандартное имя, а не форма libNAME.so, поэтому я не могу использовать обычный параметр -l. (Это также является расширением Pyth...
16 окт. '08 в 0:58
5

Переопределение "malloc" с использованием механизма LD_PRELOAD

Я пытаюсь написать простую общую библиотеку, которая будет записывать вызовы malloc в stderr (что-то вроде "mtrace", если вы это сделаете). Однако это не работает. Вот что я делаю: /* mtrace.c */ #include <dlfcn.h> #include <stdio.h> s...
21 мая '11 в 16:03
3

Можно ли использовать DYLD_LIBRARY_PATH для Mac OS X? И что с ним работает алгоритм поиска динамической библиотеки?

Я прочитал несколько статей, которые препятствуют использованию DYLD_LIBRARY_PATH, поскольку путь к динамической библиотеке должен быть исправлен с использованием -install_name, @rpath и @loader_path. С точки зрения создания программы, которая работ...
30 июн. '10 в 3:26
4

Заставить GCC уведомлять о ссылках undefined в разделяемых библиотеках

У меня есть общая библиотека, которая связана с другой (сторонней) разделяемой библиотекой. Моя разделяемая библиотека затем загружается с использованием dlopen в моем приложении. Все это прекрасно работает (если файлы находятся на правильном пути и ...
01 мар. '10 в 13:46