Skip to content

Instantly share code, notes, and snippets.

@nullx5
Created October 17, 2025 04:47
Show Gist options
  • Select an option

  • Save nullx5/5d81827d5756b7d5cb1bc50e246233a1 to your computer and use it in GitHub Desktop.

Select an option

Save nullx5/5d81827d5756b7d5cb1bc50e246233a1 to your computer and use it in GitHub Desktop.

librerias compartidas en Linux versus windows

bibliotecas compartidas en Linux con las DLLs de Windows, que son esencialmente lo mismo: módulos de código reutilizable que pueden ser cargados por distintos programas.

🐧 En Linux

Las bibliotecas compartidas suelen tener extensión .so (shared object). Algunas de las más conocidas y utilizadas son:

Biblioteca Archivo común Descripción
glibc libc.so.6 Implementa las funciones básicas del sistema (entrada/salida, memoria, hilos, etc.). Es la base de casi todo en Linux.
libpthread libpthread.so.0 Soporte para hilos POSIX (pthread_create, pthread_join, etc.).
libm libm.so.6 Funciones matemáticas (sin, cos, sqrt, etc.).
libdl libdl.so.2 Permite cargar dinámicamente bibliotecas en tiempo de ejecución (dlopen, dlsym).
libstdc++ libstdc++.so.6 Biblioteca estándar de C++ (manejo de excepciones, STL, etc.).
libgcc libgcc_s.so.1 Rutinas internas del compilador GCC (manejo de excepciones, división entera, etc.).
libX11 libX11.so.6 Soporte para aplicaciones gráficas que usan el X Window System.
libssl / libcrypto libssl.so, libcrypto.so Funciones criptográficas y de SSL/TLS (de OpenSSL).
libsystemd libsystemd.so.0 Interacción con el sistema de inicio systemd.
libudev libudev.so.1 Interacción con el subsistema de dispositivos de Linux.
libcairo / libgtk / libqt Bibliotecas gráficas para entornos de escritorio (GTK, Qt, etc.).

Puedes listar todas las bibliotecas compartidas cargadas por un programa con: ldd /usr/bin/bash

Y todas las instaladas en el sistema (aproximadamente) con: find /usr/lib /lib -name "*.so*" 2>/dev/null

🪟 En Windows

Las bibliotecas compartidas se llaman DLLs (Dynamic Link Libraries). Las más usadas y conocidas son:

DLL Descripción
kernel32.dll Funciones básicas del sistema (manejo de archivos, memoria, procesos, sincronización).
user32.dll Interfaz de usuario: ventanas, mensajes, controles, eventos.
gdi32.dll Dibujado de gráficos 2D, texto y fuentes.
advapi32.dll Funciones avanzadas del sistema (registro, seguridad, servicios).
ntdll.dll Funciones internas del kernel de Windows (nivel más bajo del sistema).
ws2_32.dll Funciones de red y sockets (Winsock).
ole32.dll Soporte para OLE y COM (componentes de objetos).
shell32.dll Funciones del Shell (explorador, accesos directos, rutas).
comdlg32.dll Cuadros de diálogo comunes (abrir, guardar, imprimir).
msvcrt.dll Biblioteca estándar de C de Microsoft (equivalente a libc).
ucrtbase.dll Nueva Universal C Runtime (desde Visual Studio 2015).
d3d11.dll / d3d12.dll Bibliotecas de DirectX para gráficos 3D.
wininet.dll / winhttp.dll Funciones para acceso HTTP/Internet.
crypt32.dll Funciones criptográficas.

Puedes listar las DLL que un ejecutable usa con herramientas como: dumpbin /DEPENDENTS archivo.exe

(Get-Process nombre).Modules | Select-Object ModuleName

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment