Библиотека knigago >> Компьютеры: Языки и системы программирования >> C, C++, C# >> Язык С в XXI веке


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 2917, книга: Когда улетают журавли
автор: Александр Никитич Плетнёв

Книга "Когда улетают журавли" Александра Плетнева погружает читателя в яркий и завораживающий мир современной прозы. Это история о любви, утрате и надежде, которая разворачивается на фоне живописных пейзажей. Главный герой, Андрей, - успешный бизнесмен, который однажды сталкивается с тяжелой потерей. Его любимая жена, которая была для него всем, трагически погибла в автокатастрофе. Опустошенный и потерянный, Андрей пытается справиться с невыносимой болью, изо всех сил пытаясь обрести...

СЛУЧАЙНАЯ КНИГА

Бен Клеменс - Язык С в XXI веке

Язык С в XXI веке
Книга - Язык С в XXI веке.  Бен Клеменс  - прочитать полностью в библиотеке КнигаГо
Название:
Язык С в XXI веке
Бен Клеменс

Жанр:

Учебники и самоучители по компьютеру, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), C, C++, C#

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

ISBN:

978-5-97060-101-3

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Язык С в XXI веке"

Язык C - не просто фундамент всех современных языков программирования, он и сам - современный язык, идеальный для написания эффективных приложений передового уровня. Последние 20 лет C не стоял на месте. Сам язык и окружающая его экосистема подвергаются пересмотру. Эта книга начинается там, где другие заканчиваются. В ней рассказано, как изменилась функциональность, поддерживаемая любым компилятором, благодаря двум новым стандартам C, вышедшим со времен оригинального ANSI. Цель книги - рассмотреть то, чего нет в других учебниках по C: инструменты и окружение; библиотеки для работы со связанными списками и анализаторами XML; написание удобочитаемого кода с дружественным программным интерфейсом. Издание предназначено для программистов, имеющих опыт работы на каком-либо языке и обладающими базовыми знаниями о С.

Читаем онлайн "Язык С в XXI веке" (ознакомительный отрывок). [Страница - 4]

изыскания, чтобы узнать
правильные значения флагов, но, по крайней мере, их можно будет один раз запи­
сать в makefile и больше об этом не думать.

(!t'J

В аша очередь . Модифицируйте makefile для компиляции erf. c.

При работе с IDE, СМАКЕ или иными альтернативами совместимой с POSIX
программе make в игру «найди переменные�. играть все равно придется. Я продол­
жу обсуждение минимального makefile, и у вас не должно возникнуть сложностей
с определением соответствующих переменных в своей IDE.
О Переменная CFLAGS давно и прочно укоренилась в практике, но переменная,
определяющая флаги компоновщика, меняется от системы к системе. Даже
переменная LDLIBS не определена в POSIX, но именно она используется
в GNU make.
О В переменных CFLAGS и LDLIBS мы будем задавать все флаги компилятора и
компонуемые библиотеки. Если в вашей системе есть программа pkg-config,
воспользуйтесь обратными апострофами. Например, в своей системе я поч­
ти все программы компоную с библиотеками Apophenia и GLib, поэтому
makefile у меня выглядит так:
CFLAGS= ' p kg-config - - cflag s apoph e n i a g l ib-2 . 0 ' -g -Wa l l - s td=gnu l l -03
LDL I BS = ' pkg-config - - l ibs apophen i a g l ib - 2 . 0 '

Или можно задать флаги -I , -1 и - 1 вручную:
CFLAGS=- I / home / Ь / root / i nc l ude -g -Wa l l -03
LDL I B S = - L / home /Ь / root / l ib - l w e i r d l i b
О

Если вы добавили местоположение библиотеки и соответствующих ей за­
головков в строки LDLIBS и CFLAGS и знаете, что в вашей системе это работа­
ет, то не имеет смысла впоследствии удалять эту информацию. Так лн уж
важно, что конечный исполняемый файл будет на 1 0 килобайт длиннее, чем
мог бы получиться при создании специального makefile для каждой новой
программы? Это означает, что можно написать один шakefile, содержащий
сведения обо всех библиотеках в системе, и копировать его из проекта в про­
ект без изменений.

Глава l. Настраиваем с реду мя ком п иляuии
О

•:•

43

Если имеется два (или более) С-файла, добавьте second . o third . o и т. д.
строку OBJECTS (запятые не нужны, имена разделяются только пробела­
ми) в начале показанного выше файла makefile. Программа make использует
эту информацию, чтобы понять, какие файлы строить и с помощью каких
рецептов.
Если программа состоит всего из одного с-файла, то makefile вообще необя­
зателен. Находясь в каталоге, где есть только файл erf.c, но нет makefile, вы­
полните следующие команды в оболочке:
в

О

expo rt C FLAGS= ' -g -Wa l l -03 - s td=gnu l l '
expo rt LDLIBS= ' - lrn '
rnake e r f
11 полюбуйтесь, как make пользуется своими знаниями о компиляции С, что­
бы сделать все остальное.

Какие флаг и ко м понов щи ка зада вать п ри п о ст рое н и и р азделяемой
б и бл и оте к и?
Ч естно говоря , не знаю. В разных операционных системах ( отличающихся как по типу,
так и по году вы пуска ) и даже в одной системе п равила зачастую различаются , и разо­
браться в н их нелегко.
Луч ш е пол ьзуйтесь и н струментом Libloo/, о писан н ы м наряду с п рочими в главе 3 , уж
он -то знает все о генерации разделяемых библ и отек в л юбой операционной систе­
ме. Я рекомендую п отратить время н а изучение Autotools и тем реш ить п роблему ком ­
пиляции разделя е м ых библиотек раз и навсегда . Это полезнее, чем тратить время на
знакомство с флагами ком пилятора и п роцедурой ком поновки для каждой целевой
систе м ы .

Сборка библиотек И 3 исходного кода
До сих пор мы говорили о компиляции своей программы с помощью make. Компи­
ляц11я же чужого кода - совершенно другая история.
Попробуем на примере какого-нибудь пакета. Библиотека GNU Scientific
Li Ьгагу (GSL) включает великое множество функций для численных расчетов.
Пакет GSL сформирован с помощью Autotools, комплекта инструментов для
подготовки библиотеки к использованию на любой машине. Своей цели этот ком­
плект достигает путем проверки всех известных платформенных причуд и выбора
нодходящего обходного решенйя. В наши дни подавляющее большинство про­
грамм распространяется с помощью Autotools; подробно о том, как подготовить
пакет для своей программы вместе с библиотеками, будет рассказано ниже в раз­
деле « Подготовка пакета с помощью Autotools\>. А пока будем выступать в роли
пользователей и порадуемся тому, как легко и быстро можно установить полезные
библиотеки.
GSL часто можно получить в готовом виде с помощью менеджера пакетов, но
в педагогических целях покажем, как скачать исходный код GSL и откомпилиро­
вать его в предположении, что у вас есть привилегии суперпользователя root на
своем компьютере.

44

•:•

Часть 1. --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.