GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo encontrar los archivos de encabezado del lenguaje de programación C en Linux?

locate stdio.h

o

mlocate stdio.h

pero locate se basa en una base de datos, si nunca la ha actualizado

sudo updatedb

también puede consultar gcc para saber cuáles son los directorios predeterminados que son escaneados por gcc mismo:

gcc -print-search-dirs

gcc -H ... imprimirá la ruta completa de cada archivo de inclusión como un efecto secundario de la compilación regular. Usa -fsyntax-only además de conseguir que no cree ninguna salida (aún así te dirá si tu programa tiene errores). Ejemplo (Linux, gcc-4.7):

$ cat > test.c
#include <stdbool.h>
#include <stdio.h>
^D
$ gcc -H -fsyntax-only test.c
. /usr/lib/gcc/x86_64-linux-gnu/4.7/include/stdbool.h
. /usr/include/stdio.h
.. /usr/include/features.h
... /usr/include/x86_64-linux-gnu/bits/predefs.h
... /usr/include/x86_64-linux-gnu/sys/cdefs.h
.... /usr/include/x86_64-linux-gnu/bits/wordsize.h
... /usr/include/x86_64-linux-gnu/gnu/stubs.h
.... /usr/include/x86_64-linux-gnu/bits/wordsize.h
.... /usr/include/x86_64-linux-gnu/gnu/stubs-64.h
.. /usr/lib/gcc/x86_64-linux-gnu/4.7/include/stddef.h
.. /usr/include/x86_64-linux-gnu/bits/types.h
... /usr/include/x86_64-linux-gnu/bits/wordsize.h
... /usr/include/x86_64-linux-gnu/bits/typesizes.h
.. /usr/include/libio.h
... /usr/include/_G_config.h
.... /usr/lib/gcc/x86_64-linux-gnu/4.7/include/stddef.h
.... /usr/include/wchar.h
... /usr/lib/gcc/x86_64-linux-gnu/4.7/include/stdarg.h
.. /usr/include/x86_64-linux-gnu/bits/stdio_lim.h
.. /usr/include/x86_64-linux-gnu/bits/sys_errlist.h

Los puntos al comienzo de cada línea cuentan qué tan profundamente anidado el #include es.


Si usa gcc, puede verificar un archivo específico con algo como:

echo '#include <stdbool.h>' | cpp -H -o /dev/null 2>&1 | head -n1

-H pide al preprocesador que imprima todos los archivos incluidos recursivamente. head -n1 toma solo la primera línea de salida de eso, para ignorar cualquier archivo incluido por el encabezado nombrado (aunque stdbool.h en particular probablemente no lo haga).

En mi computadora, por ejemplo, los resultados anteriores:

. /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdbool.h

Durante el preprocesamiento, todas las directivas del preprocesador se reemplazarán con las actuales. Como la expansión de macros, la eliminación de comentarios de código, incluido el código fuente del archivo de encabezado, etc.

podemos verificarlo usando el cpp - Comando C Preprocesador.

Por ejemplo en la línea de comando:

cpp Filename.c

muestra la salida preprocesada.


Linux
  1. Cómo encontrar archivos duplicados en Linux

  2. Cómo usar el comando find de Linux para buscar archivos

  3. Cómo encontrar todos los archivos dispersos en Linux

  4. ¿Cómo puedo ver el tamaño de los archivos y directorios en Linux?

  5. ¿Cómo puedo encontrar el modelo de hardware en Linux?

Cómo instalar el lenguaje de programación Nim en Linux

Cómo buscar archivos desde la línea de comandos de Linux

Cómo encontrar archivos con el comando fd en Linux

Cómo instalar el lenguaje de programación Go en Alpine Linux

Cómo instalar el lenguaje de programación Rust en Linux

Cómo instalar GoLang (lenguaje de programación Go) en Linux