Pregunta

He intentado encontrar la forma de crear DLL-s en Linux usando Google, pero obtuve información muy confusa.

¿Es posible escribir bibliotecas de enlaces dinámicos en linux? Si no, ¿hay otros medios por los cuales puedo llamar al código en otro módulo desde varios programas en ejecución?

¿Fue útil?

Solución

Eso es porque DLL es un término de Windows. En Linux se llaman bibliotecas compartidas.

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

Otros consejos

Como ha dicho Sklivvz , el término que buscas en Linux es objeto compartido Estos tienen la extensión de archivo .so .

Usando gcc puedes crear un .so usando la opción -shared .

por ejemplo.


gcc -shared -o libfoo.so foo.c

Si nombras tu objeto compartido lib * .so puedes compilar contra él usando la opción -l en tu enlazador. Tenga en cuenta que el " lib " Se infiere en esta circunstancia.

es decir.


ld -o a.out -lfoo someobject.o 

Alternativamente, puede cargar .so en tiempo de ejecución, al igual que puede con .dll s, usando dlopen () y dlsym ().

Es un lote si recién está comenzando, pero en algún momento deberá referirse a " Cómo escribir bibliotecas compartidas ."

Supongo que los archivos .SO en lugar de los archivos DLL, es decir, un objeto compartido, no StackOverflow :), es lo que quieres.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top