una que programacion principales librerias libreria lenguaje funciones funcion definicion clases biblioteca c gcc

que - principales librerias en lenguaje c



Ubicación de la biblioteca estándar de C (5)

En el manual de gcc se indica que "La biblioteca estándar de C en sí está almacenada en ''/usr/lib/libc.a''". Tengo gcc instalado, pero no pude encontrar libc.a en dicha ubicación. Curioso por saber dónde se encuentra.

Encuentro muchos archivos .so en la ubicación / usr / lib. ¿Que son esos?


Debe instalar el paquete para las bibliotecas estáticas por separado: glibc-static.i686


En centos 5.8

$ ls -l /usr/lib/libc.a -rw-r--r-- 1 root root 2442786 Apr 8 2010 /usr/lib/libc.a $ rpm -qf /usr/lib/libc.a glibc-devel-2.3.4-2.43.el4_8.3

También debe tener el glibc-devel instalado en las distribuciones RedHat.


Si está en Linux (rpm), obtendrá la ubicación del glibc instalado con rpm -ql glibc y rpm -ql glibc-devel .

locate libc.a le conseguiría la ubicación. Y para ver de dónde viene hacer: rpm -qf /usr/lib/libc.a

rpm -qi es lo que rpm -qi tiene que decir acerca de estos paquetes.

glibc-devel:

El paquete glibc-devel contiene los archivos de objeto necesarios para desarrollar programas que utilizan las bibliotecas estándar de C (que son utilizadas por casi todos los programas). Si está desarrollando programas que utilizarán las bibliotecas estándar de C, su sistema debe tener estos archivos de objeto estándar disponibles para crear los ejecutables. Instale glibc-devel si va a desarrollar programas que usarán las bibliotecas estándar de C

glibc:

El paquete glibc contiene bibliotecas estándar que son utilizadas por múltiples programas en el sistema. Para ahorrar espacio en el disco y la memoria, así como para facilitar la actualización, el código común del sistema se guarda en un solo lugar y se comparte entre los programas. Este paquete en particular contiene los conjuntos más importantes de bibliotecas compartidas: la biblioteca C estándar y la biblioteca matemática estándar. Sin estas dos bibliotecas, un sistema Linux no funcionará.


Si estás buscando libc.a :

$ gcc --print-file-name=libc.a /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libc.a


Unas pocas cosas:

  • gcc y glibc son dos cosas diferentes. gcc es el compilador, glibc son las bibliotecas de tiempo de ejecución. Casi todo necesita glibc para funcionar.
  • .a archivos .a son bibliotecas estáticas, .so significa objeto compartido y es el equivalente de Linux de una DLL.
  • La mayoría de las cosas NO se vinculan con libc.a, se vinculan con libc.so

Espero que te lo aclare. En cuanto a la ubicación, es casi seguro que estará en /usr/lib/libc.a y / or /usr/lib/libc.so . Como dije, el .so es el más común.