GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa menemukan file header dari bahasa pemrograman C di Linux?

locate stdio.h

atau

mlocate stdio.h

tapi locate bergantung pada database, jika Anda belum pernah memperbaruinya

sudo updatedb

Anda juga dapat menanyakan gcc untuk mengetahui direktori default apa saja yang dipindai oleh gcc itu sendiri:

gcc -print-search-dirs

gcc -H ... akan mencetak path lengkap dari setiap file penyertaan sebagai efek samping dari kompilasi reguler. Gunakan -fsyntax-only selain itu untuk tidak membuat keluaran apa pun (masih akan memberi tahu Anda jika program Anda memiliki kesalahan). Contoh (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

Titik-titik di awal setiap baris menghitung seberapa dalam #include bersarang adalah.


Jika Anda menggunakan gcc, Anda dapat memeriksa file tertentu dengan sesuatu seperti:

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

-H meminta preprosesor untuk mencetak semua file yang disertakan secara rekursif. head -n1 hanya mengambil baris pertama keluaran dari itu, untuk mengabaikan file apa pun yang disertakan oleh header bernama (walaupun stdbool.h khususnya mungkin tidak).

Di komputer saya, misalnya, keluaran di atas:

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

Selama preprocessing, semua directive preprocessor akan diganti dengan yang sebenarnya. Seperti ekspansi makro, penghapusan komentar kode, termasuk kode sumber file header dll...

kita bisa mengeceknya dengan menggunakan cpp - Perintah C PreProcessor.

Misalnya di baris perintah:

cpp Filename.c

menampilkan keluaran yang diproses sebelumnya.


Linux
  1. Bagaimana menemukan file duplikat di Linux

  2. Cara Menggunakan Perintah find Linux untuk Menemukan File

  3. Bagaimana saya bisa menemukan jumlah pengguna online di Linux?

  1. Bagaimana menemukan semua file yang jarang di Linux

  2. Di mana file header <conio.h> di Linux? Mengapa saya tidak dapat menemukan <conio.h>?

  3. Bagaimana saya bisa melihat ukuran file dan direktori di linux?

  1. Cara menemukan file di Linux

  2. Bagaimana saya bisa mengedit semua file yang dikembalikan oleh find in vi di Linux?

  3. Bagaimana saya bisa menemukan model perangkat keras di Linux?