Linux From Scratch

ОглавлениеДобавить в закладки К обложке

Примечание: инсталляция других компиляторов не тестировалась разработчиками проекта LFS.

patch -Np1 -i ../gcc-3.2.patch && mkdir ../gcc-build && cd ../gcc-build && ../gcc-3.2/configure –prefix=/usr –enable-shared \ –enable-languages=c,c++ –enable-threads=posix \ –with-slibdir=/lib –enable-__cxa_atexit \ –enable-clocale=gnu && make bootstrap && make install && ln -s ../usr/bin/cpp /lib && ln -s ../bin/cpp /usr/lib && ln -s gcc /usr/bin/cc

Пояснение команд

–enable-threads=posix: Эта опция включает обработку исключений в многопоточном коде на С++.

–enable-__cxa_atexit: Эта опция позволит использовать shared-библиотеки C++ и программы, написанные на C++, с другими дистрибутивами Linux.

–enable-clocale=gnu: Существует опасность, что у некоторых пользователей будут компилироваться ABI-несовместимые библиотеки С++, если glibc localedata не установлен полностью. Использование опции –enable-clocale=gnu гарантирует корректную компиляцию во всех случаях. Если вы не хотите использовать эту опцию, удостоверьтесь, что по крайней мере, устанавливается локаль de_DE. Когда GCC находит эту конкретную локаль, выполняется верный режим локали (gnu).

Содержимое GCC

Последняя проверка: версия 3.1.

Программы

c++, c++filt, cc (link to gcc), cc1, cc1plus, collect2, cpp, cpp0, g++, gcc, gccbug, gcov и tradcpp0

Описания

cc, cc1, cc1plus, gcc

Компилятор C. Компилятор переводит код из текстового формата в формат, понятный компьютеру. После того, как исходный код скомпилирован в объектный файл, линкер создаст исполняемый файл из одного или нескольких объектных.

c++, cc1plus, g++

Компилятор C++, эквивалент cc, gcc etc.

c++filt

Язык C++ позволяет осуществлять перезагрузку функций, делая возможным написание многих функций с одним именем (с разным набором параметром). Все имена функций C++ закодированы в низкоуровневые метки ассемблера (этот процесс известен как mangling). c++filt совершает обратное действие: низкоуровневые имена переводятся (demangling) в имена, понятные пользователю, так что линкер избегает конфликта между перезагруженными функциями.

collect2

collect2 помогает в компиляции конструкторов.

cpp, cpp0

cpp осуществляет препроцессинг исходных файлов, например включает в них содержимое заголовочных файлов. Просто добавьте в ваш исходный файл строку вроде #include <filename>. Препроцессор вставит содержимое заголовочного файла.

gccbug

gccbug – скрипт, облегчающий создание сообщений об ошибках.

gcov

gcov анализирует программы, чтобы помочь в создании более эффективного и быстрого кода путем его оптимизации.

tradcpp0

На данный момент описания нет.

Библиотеки

libgcc.a, libgcc_eh.a, libgcc_s.so, libiberty.a, libstdc++.[a,so], libsupc++.a

Описания

libgcc, libgcc_eh, libgcc_s

Файлы поддержки gcc времени исполнения.

libiberty

libiberty – коллекция подпрограмм, используемых различными программами GNU, включая getopt, obstack, strerror, strtol и strtoul.

libstdc++

libstdc++ – библиотека C++. Она используется программами на C++ и содержит часто используемые функции. Таким образом, программисту не нужно писать стандартные функции (например, вывод строки текста на экран) с нуля при каждом создании программы.

libsupc++

libsupc++ предоставляет поддержку языка программирования C++. Помимо прочего, libsupc++ содержит функции для обработки исключений.

Зависимости GCC

Последняя проверка: версия 2.95.3.

Bash: sh Binutils: ar, as, ld, nm, ranlib Diffutils: cmp Fileutils: chmod, cp, ln, ls, mkdir, mv, rm, touch Find: find Gcc: cc, cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Patch: patch Sed: sed Sh-utils: basename, dirname, echo, expr, hostname, sleep, true, uname Tar: tar Texinfo: install-info, makeinfo Textutils: cat, tail, tr


Логин
Пароль
Запомнить меня