8.1. Статические библиотеки

8.1. Статические библиотеки

Статические библиотеки представляют собой простые коллекции объектных файлов, объединенных утилитой ar (архиватор), ar группирует объектные файлы в один архив и добавляет таблицу, в которой указано, какие объектные файлы в архиве какие символы определяют. Затем компоновщик, ld, связывает ссылки на символ в одном объектном файле с определением этого символа в объектном файле архива. Для статических библиотек используется суффикс .

В статическую библиотеку можно преобразовать группу объектных файлов с помощью такой команды:

ar res libname.a foo.o bar.о baz.o

Также в архив можно добавлять объектные файлы по одному.

ar res libname.a foo.o

ar res libname.a bar.о

ar res libname.a baz.o

В любом случае libname.a получится одинаковым. В команде использованы перечисленные ниже опции.

r Включает объектные файлы в библиотеку, заменяя любой уже существующий в архиве файл с таким же именем.
с Молча создает библиотеку, если таковой еще не существует.
s Поддерживает в таблице соответствие названий символов объектным файлам.

При сборке статических библиотек необходимость в использовании других опций возникает не часто. Однако ar поддерживает другие опции и возможности, о которых подробно можно прочесть на man-странице команды.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Статические и динамические библиотеки

Из книги автора

Статические и динамические библиотеки Самый непосредственный способ построения любой программы — это объединение исходных кодов всех функций, их компиляция и компоновка всех необходимых элементов в один исполняемый модуль. Чтобы упростить процесс сборки, такие


Статические фильтры

Из книги автора

Статические фильтры AlphaЗадает уровень прозрачности элемента страницы.При настройке этого фильтра можно использовать следующие параметры:AlphaImageLoadedОтображает графическое изображение внутри элемента страницы между его фоном и содержимым.При настройке этого фильтра


Статические параметры

Из книги автора

Статические параметры Информация о текущей версии Windows находится в двух статических параметрах реестра и одном динамическом. Для начала поговорим о статических параметрах — они находятся в ветви реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlProductOptions. Это параметры ProductType и ProductSuite.?


R.9.4 Статические члены

Из книги автора

R.9.4 Статические члены Для члена класса, представляющего данные или функцию, можно при описании класса задать спецификацию static. Для статического члена, представляющего данные, в программе существует только один экземпляр, которым владеют все объекты этого класса.


R.14.8 Статические члены и переменные

Из книги автора

R.14.8 Статические члены и переменные Для каждого шаблонного класса или функции, создаваемых по шаблону типа, образуется своя копия статических переменных или членов. Рассмотрим пример:template‹class T› class X { static T s; //…};X‹int› aa;X‹char*› bb;Здесь в классе X‹int› есть статический член


Статические методы

Из книги автора

Статические методы Рассмотрим следующий класс Teenager (подросток), который определяет статический метод Complain(), возвращающий случайную строку, полученную с помощью вызова частной вспомогательной функции GetRandomNumber().class Teenager { private static Random r = new Random(); private static int GetRandomNumber(short


Статические конструкторы

Из книги автора

Статические конструкторы Вы уже знаете о том, что конструкторы используются для установки значения данных типа во время его создания, Если указать присваивание значения элементу статических данных в рамках конструктора уровня экземпляра, вы обнаружите, что это


Статические классы

Из книги автора

Статические классы Язык C# 2005 расширил область применения ключевого слова static путем введения в рассмотрение статических классов. Когда класс определен, как статический, он не допускает создания экземпляров с помощью ключевого слова new и может содержать только


Статические свойства

Из книги автора

Статические свойства В C# также поддерживаются статические свойства. Вспомните из главы 3, что статические члены доступны на уровне класса, а не экземпляра (объекта) этого класса. Например, предположим, что тип Employee определяет элемент статических данных, представляющий


Статические переменные

Из книги автора

Статические переменные      Название раздела не следует понимать буквально, т. е. считать, что такие переменные не могут изменяться. В действительности слово "статические" здесь означает, что переменные остаются в работе. Они имеют такую же область действия, как


Глава 7 Статические изображения

Из книги автора

Глава 7 Статические изображения • Добавление изображений в проект• Клипы изображений• Инструмент Свойства клипа для статического изображенияPinnacle Studio позволяет использовать в проектах статические изображения: фотографии, рисунки, планы, стоп-кадры. Применяя к ним


Статические методы

Из книги автора

Статические методы Вы можете объявить некоторые методы класса статическими методами. Для этого вы должны воспользоваться ключевым словом static. Статические методы не принимают параметр this. На использование статических методов накладывается ряд ограничений.•


5.4.4 Статические Члены

Из книги автора

5.4.4 Статические Члены Класс – это тип, а не объект данных, и в каждом объекте класса имеется своя собственная копия данных, членов этого класса. Однако некоторые типы наиболее элегантно реализуются, если все объекты этого типа могут совместно использовать (разделять)


5.4.4 Статические Члены

Из книги автора

5.4.4 Статические Члены Класс – это тип, а не объект данных, и в каждом объекте класса имеется своя собственная копия данных, членов этого класса. Однако некоторые типы наиболее элегантно реализуются, если все объекты этого типа могут совместно использовать (разделять)


8.5.1 Статические Члены

Из книги автора

8.5.1 Статические Члены Член данные класса может быть static; члены функции не могут. Члены не могут быть auto, register или extern. Есть единственная копия статического члена, совместно используемая всеми членами класса в программе. На статический член mem класса cl можно ссылаться cl:mem,