Вопрос

Я попытался найти, как создать DLL-файлы в Linux с помощью Google, но получил очень запутанную информацию.

Можно ли написать библиотеки динамических ссылок в Linux?Если нет, существуют ли другие средства, с помощью которых я могу вызвать код в другом модуле из нескольких запущенных программ?

Это было полезно?

Решение

Это потому, что DLL - это термин для Windows.В Linux они называются разделяемыми библиотеками.

http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html

Другие советы

Как Скливвз как уже говорилось, термин, который вам нужен в linux, - это общий объект.Им присваивается расширение файла .so.

Используя gcc, вы можете создать .so используя -shared вариант.

например.


gcc -shared -o libfoo.so foo.c

Если вы назовете свой общий объект lib *.so, вы можете скомпилировать его с помощью -l опция в вашем компоновщике.Обратите внимание, что в этом случае подразумевается "библиотека".

т.е.


ld -o a.out -lfoo someobject.o 

В качестве альтернативы вы можете загрузить .so файлы во время выполнения, точно так же, как вы можете с помощью .dlls, используя dlopen() и dlsym().

Это лот если вы только начинаете, но в какой-то момент вам нужно будет обратиться к книге Ульриха Дреппера “Как Писать Общие библиотеки.”

Я думаю .SO files вместо DLL-файлов, что означает общий объект, а не StackOverflow :), - это то, что вы хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top