Реферат: Администрирование локальных сетей
L – буква которая означает к которой библиотеке вызов относиться
Вот примеры:
Група | Описание |
(2) |
Системные вызовы, низкоуровневый доступ до системных ресурсов. (работа с файлами,сигналы,управление процесами). Все вызовы содержаться в libc |
(3C) |
Стандартные С вызовы . Находяться в libc |
(3S) |
Стандартные вызова input/output (stdio(3S)) Находяться в libc |
(3M) | Математические фунции. Для подключения используеться –lm или -lM |
(3G) | Графические фунции |
(3I) | Библиотека инструментариев |
(3X) | Разные специализированые библиотеки |
Сравнительные оценки Архивных и Общедоступных библиотек | ||
Расширение | .a | .sl |
Обьектный код | Делаеться с обьектного кода | Делаеться с независимо-позиционого (PIC) обьектного кода.Делаеться компилятором с опцией +z или +Z. |
Создание |
Составляеться обьектные файлы ar командой |
Составляеться PIC обьекты с ld командой |
Связывание адресса вызова | Адресс определяется при линкировании програмы | Адресс определяеться при выполнении програмы |
a.out | Содержит в себе все вызовы и даные | Содержит только таблицу где где содержаться адреса иназвание библитек |
При запуске | Каждая програма содержит собственую копию библиотеки | Все програмы используют одну бублиотеку, которая в памяти присутствующая только один раз |
Опции компилятора cc
cс [option] files
· -Amode
· mode=c По умолчанию, стандартный компилятор С (по Керниган, Риттчи)
· mode=a ANSI C (ISO 9899:1990)
· mode=e Расшириное ANSI C
· -c Отменить фазу редактирования связей и создавать об'ектный файл даже в случае программы, состоящей только из одного модуля.
· -p Сгенерировать дополнительные команды для подсчета числа обращений к каждой функции. Кроме того, если имеет место фаза редактирования связей, стандартная подпрограмма инициализации заменяется на такую, которая автоматически вызывает функцию monitor(3C) и обеспечивает запись файла mount.out при нормальном завершении об'ектной программы. Профиль выполнения программы может быть затем получен при помощи команды prof(1).
· -Dname=def определяет макрос для препроцесорра (эквивалентно #define )
· -E посылает на стандартный поток вывода (по умолчанию на stderr)
· -g содержит дополнительную информацию для отладки
· -Idir Изменить алгоритм поиска включаемых (посредством директивы #include) файлов, имена которых не начинаются с символа /, а именно: сначала искать в указанном каталоге, а затем уже в каталогах стандартного списка. Так, включаемые файлы, чьи имена заданы в двойных кавычках, сначала ищутся в каталоге, содержащем файл, затем в каталогах, указанных с помощью опции -I, а затем уже в каталогах стандартного списка. Включаемые файлы, чьи имена заданы в угловых скобках, не ищутся в каталоге, содержащем файл.
· -lname включает библиотеку
· -L dir dir= Дополнить каталогом список каталогов, которые содержат об ектные библиотечные модули [для редактирования связей посредством ld
· -v расширынай информация о процессе компиляции
· -w не показывает предупреждений
· -Wx,arglist передает аргументы (опции) arglist для процеса. x
может принимать значения:
· d Driver
· p Preprocessor
· c Compiler
· a Assembler
· l Linker
· +z,+Z Опция создает PIC код
· -O Включить оптимизацию обьектного кода
Создание архивной библиотеки.
1) Для открытия библиотеки необходимо создать оььектные файлы. (в основном каждая функция представляет свой обьектный файл)
2) Соеденить все обьекты в один архив командой ar с ключем r
Описание команды ar
ar [-][d][r][q][t][p][m][x][v][c][l][s] [позиционирующее_имя]
а_файл [имя ...]
Команда ar предоставляет средства обслуживания группы файлов, об единенных в один архивный файл. Применяется главным образом для создания и изменения библиотечных файлов, используемых редактором связей. Может применяться и для других подобных целей. Магические цепочки и заголовки файлов состоят из печатаемых ASCII-символов, так что если в состав архива входят только печатаемые файлы, то и архив в целом окажется печатаемым.
При создании архива командой ar заголовки файлов строятся в формате, не зависящем от конкретной машины. Формат и структура мобильного архива подробно описаны в ar(4). Таблица имен архива (описанная там же) используется редактором связей [ld(1)] для сокращения числа проходов по библиотекам об ектных файлов. Команда ar создает и поддерживает таблицу имен только при наличии в архиве хотя бы одного об ектного файла. Таблица имен в случае ее создания помещается в начале архива в качестве файла с особым именем. Ни ссылка на этот файл, ни доступ к нему для пользователя невозможны. При создании или изменении архива командой ar(1) таблица имен всякий раз перестраивается. Таблицу имен можно перестроить принудительно, воспользовавшись описанной ниже опцией s.
В отличие от командных опций командный ключ составляет обязательную часть командной строки ar. Ключ (которому может предшествовать символ -) представляет собой один из символов набора drqtpmx. Аргументами же ключа могут служить один или несколько символов из набора vuaibcls. Позиционирующее_имя - это имя элемента архива, которое используется в качестве указателя конкретного места архива, куда должны помещаться другие файлы. А_файл - это имя архивного файла. Под именами подразумеваются имена файлов, входящих в архив. Символам, образующим ключ, приписан следующий смысл:
d | Удалить указанные файлы из архива. |
r | Заменить указанные файлы в архиве. Если в ключе наряду с r присутствует необязательный символ u, то замена будет произведена только для тех из указанных файлов, у которых дата последней модификации превышает соответствующую дату у одноименных файлов, хранящихся в архиве. Если ключ содержит признак позиционирования, т.е. один из необязательных символов abi, то в команде должен присутствовать аргумент позиционирующее_имя и в этом случае все новые файлы будут помещаться перед (b или i) или вслед за (a) файлом с таким именем. При отсутствии признака позиционирования новые файлы будут помещаться в конец архива. |
q | Быстро поместить указанные файлы в конец архива. Использование символов позиционирования недопустимо. Проверка, имеются ли уже в архиве указанные файлы, командой не осуществляется. Данная возможность полезна только для того, чтобы избежать квадратичного роста временных затрат при наращивании больших архивов. Отказ от проверок может, напротив, повести к росту размеров архивного файла. |
t | Вывести оглавление архива. Если имена не указаны, перечисляются все файлы архива; если имена указаны, выводятся только они. |
p | Напечатать указанные файлы из архива. |
m | Переместить указанные файлы в конец архива. Если ключ содержит признак позиционирования, то в команде должен присутствовать аргумент позиционирующее_имя, и тогда место, куда перемещаются файлы, будет определяться так же, как и для опции r. |
x | Извлечь указанные файлы из архива и поместить в текущий каталог. Если имена не указаны, извлекаются все содержащиеся в архиве файлы. Операция не изменяет архивный файл. |
Аргументам ключа приписан следующий смысл:
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51