Una librería estática es una colección de rutinas precompiladas que se enlazan (linkean) a un programa en tiempo de compilación y pasan a formar parte del archivo ejecutable. A diferencia de las librerías dinámicas (también conocidas como librerías compartidas o 'shared libraries'), las librerías estáticas no se cargan en tiempo de ejecución. En su lugar, el código de la librería estática se copia directamente dentro del ejecutable. Esto resulta en un tamaño de ejecutable mayor, pero elimina la dependencia de que la librería esté presente en el sistema donde se ejecuta el programa. Las librerías estáticas se utilizan comúnmente para distribuir componentes de código reutilizables, como funciones matemáticas, estructuras de datos o controladores de dispositivos ('device drivers'). Son particularmente útiles cuando se desea asegurar que el programa contenga todo el código necesario integrado y no dependa de dependencias externas que podrían estar ausentes o ser incompatibles en diferentes sistemas. La extensión de archivo '.a' es la extensión más común para las librerías estáticas en sistemas tipo Unix, incluyendo Linux y macOS. En Windows, las librerías estáticas suelen utilizar la extensión '.lib'.