Структура каталогов gcc - PullRequest
0 голосов
/ 14 марта 2012

Я давно пользуюсь gcc в Linux, но я до сих пор не знаю его внутренностей.Прежде всего, я хотел бы знать, где находится glibc.Во-вторых, где находятся заголовки.Я хочу знать базовую структуру каталогов gcc.

Ответы [ 3 ]

2 голосов
/ 14 марта 2012

Заголовочные файлы находятся в /usr/include/. Для получения дополнительной информации о GCC вы можете просмотреть gcc.gnu.org . В нем много информации о GCC, внутреннем устройстве и о том, как он работает.

2 голосов
/ 15 марта 2012

Знаете ли вы о стандарте иерархии файловой системы ?

Например, на Linux version 2.6.18-274.3.1.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-51)) вы можете найти glibc общие объекты в /usr/lib/gcc и в /lib:

locate libgcc
/lib/libgcc_s-4.1.2-20080825.so.1
/lib/libgcc_s.so.1 // symbolic link to 
/usr/lib/gcc/i386-redhat-linux/3.4.6/libgcc.a
/usr/lib/gcc/i386-redhat-linux/3.4.6/libgcc_eh.a
/usr/lib/gcc/i386-redhat-linux/3.4.6/libgcc_s.so
/usr/lib/gcc/i386-redhat-linux/4.1.1/libgcc.a
/usr/lib/gcc/i386-redhat-linux/4.1.1/libgcc_eh.a
/usr/lib/gcc/i386-redhat-linux/4.1.1/libgcc_s.so
...

Включения находятся в /usr/include:

>locate stdio.h
/usr/include/stdio.h
/usr/include/bits/stdio.h
/usr/include/boost/iostreams/filter/stdio.hpp
...

Файлы находятся почти в одинаковых каталогах в Linux version 2.6.38-13-generic (buildd@yellow) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ) (архитектура x86_64):

locate libgcc
/lib/x86_64-linux-gnu/libgcc_s.so.1
/usr/lib/libgccpp.so.1
/usr/lib/libgccpp.so.1.0.2
/usr/lib/ure/lib/libgcc3_uno.so
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/libgcc.a
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/libgcc_eh.a
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/libgcc_s.so
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/libgcc_s_32.so
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/32/libgcc.a
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/32/libgcc_eh.a
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/32/libgcc_s.so
/usr/lib32/libgcc_s.so.1
...
locate stdio.h
/usr/include/stdio.h
/usr/include/bits/stdio.h
/usr/include/c++/4.5/tr1/stdio.h
...
1 голос
/ 14 марта 2012

Вы можете найти хороший веб-сайт, чтобы узнать структуру каталогов gcc здесь: Исходное дерево

А насчет заголовков, вы можете перейти туда: Заголовки GCC

...