КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Библиотеки
Язык C не предоставляет встроенных возможностей для выполнения таких распространенных операций, как ввод/вывод, управление памятью, работа со строками, и т.п. Эти возможности определены в стандартной библиотеке, которая компонуется в вашу программу. Библиотекой называют набор объектных файлов, сгруппированных в единый файл и проиндексированных. Когда команда компоновки обнаруживает некоторую библиотеку в списке объектных файлов для компоновки, она проверяет, содержат ли уже скомпонованные объектные файлы вызовы для функций, определенных в одном из файлов библиотек. Если такие функции найдены, соответствующие вызовы связываются с кодом объектного файла из библиотеки. Библиотеки обычно определяются через аргументы вида -llibrary-name. В частности, -lg++ означает библиотеку стандартных функций C++, а -lm определяет библиотеку различных математических функций (sin, cos, arctan, sqrt, и т.д.). Библиотеки должны быть перечислены после исходных или объектных файлов, содержащих вызовы к соответствующим функциям. Библиотека GNU C определяет все библиотечные функции, определенные стандартом ISO C и дополнительные возможности, указанные в стандарте POSIX и иных предписаниях для операционных систем Unix, а также расширения, специфичные для систем GNU. Она является наиболее фундаментальной системной библиотекой и обязательно присутствует в любой системе Linux.
В составе библиотеки можно выделить следующие основные группы функций: · Сообщения об ошибке - описывает способы определения и сообщения об ошибках. · Языковые возможности - содержит информацию о поддержке библиотекой стандартных частей языка C, включая оператор `sizeof' и символическую константу `NULL', функции с переменным числом аргументов и константы, определяющие пределы и другие свойства для числовых типов. Содержит также простейший механизм отладки, позволяющий помещать в код диагностирующие макросы. · Управление памятью - описывает возможности управления реальной и виртуальной памятью, включая динамическое распределение. Если вы не уверены в требуемом количестве памяти для объектов программы, вы можете выделить ее динамически и работать с ней через указатели. · Работа с символами - содержит информацию о функциях классификации символов (например, `isspace') и функциях преобразования типа для символов. · Работа со строками и массивами - описывает функции работы со строками (массивами символов, заканчивающимися 0) и обычными байтовыми массивами, включая операции копирования и сравнения. · Общий ввод/вывод - дает общее представление о возможностях библиотеки по вводу/выводу и содержит информацию о базовых концепциях, например, об именах файлов. · Ввод/вывод через потоки - описывает операции ввода / вывода с использованием потоков (или объектов `FILE *'). Здесь находятся функции библиотеки C, указанные в `stdio.h'. · Низкоуровневый ввод/вывод - содержит информацию о вводе/выводе через дескрипторы файлов. Механизм файловых дескрипторов является низкоуровневым и специфичен для систем семейства Unix. · Интерфейс файловой системы - описывает операции над целыми файлами, например, функции удаления и переименования, а также создания каталогов. Содержит информацию о доступе к атрибутам файла, например, к имени владельца и правам доступа. · Каналы и очереди - простые механизмы межпроцессного взаимодействия. Каналы позволяют осуществлять взаимодействие между связанными процессами (например, между родителем и потомком), а очереди - между процессами, разделяющими общую файловую систему на данной машине. · Сокеты - более сложный механизм межпроцессного взаимодействия, позволяющий процессам на разных компьютерах общаться через сеть. Содержит информацию о способах адресации Internet и использовании баз данных сети. · Низкоуровневый интерфейс с терминалом - описывает способы изменения атрибутов терминального устройства. · Математика - содержит информацию о математических функциях библиотеки. Они включают в себя генератор случайных чисел, функции деления с остатком, тригонометрические и экспоненциальные функции над числами с плавающей запятой. · Низкоуровневая арифметика - описывает функции простой арифметики, анализа величин с плавающей точкой, а также чтения чисел из строк. · Сортировка и поиск - содержит информацию о функциях, используемых для сортировки и поиска в массивах. Вы можете использовать эти функции для любых массивов, создав необходимую функцию сравнения. · Совпадение с образцом - предоставляет функции для проверки текста на совпадение с регулярными выражениями или образцами имени файла. · Дата и время - описывает функции измерения календарного и машинного времени, а также функции установки будильников и таймеров. · Работа с кодировкой - содержит информацию о работе с различными символами и строками, состоящими из символов, не входящих в стандартный набор типа `char'. · Работа с локалью - описывает выбор определенной страны или языка, влияющий на поведение функций библиотеки. Например, локаль влияет на формат денежных величин. · Нелокальные переходы - поясняет работу с функциями `setjmp' и `longjmp'. Эти функции предоставляют возможности безусловного перехода из одной функции в другую. · Обработка сигналов - описывает механизм сигналов, способы установки обработчиков, реагирующих на сигналы определенного вида, способы запрета реакции на сигналы в критических секциях программы. · Базовые функции программы - содержатся функции доступа к аргументам командной строки и переменным окружения. · Процессы - описание функций запуска новых процессов и программ. · Управление заданиями - содержит функции для управления группами процессов и терминалом. Эти функции полезны, если вы разрабатываете собственную оболочку или программу, которая управляет заданиями самостоятельно. · Сервис поиска имен - описывает сервис для поиска имен в системных базах данных, определяет сервис, доступный для базы данных, а также способы его реализации, позволяя разработку собственных сервисов. · Базы данных пользователей и групп - разъясняются способы доступа к соответствующим базам системы. · Управление системой - содержит функции для получения информации о конфигурации системы - как программной, так и аппаратной. Конфигурация системы - функции для получения информации о системных
Дата добавления: 2015-06-27; Просмотров: 436; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |