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


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

# 1609, книга: Последний английский король
автор: Джулиан Рэтбоун

"Последний английский король" захватывающая историческая проза, написанная Джулианом Рэтбоуном, которая исследует драматическую судьбу Ричарда III, последнего короля из династии Плантагенетов. Эта книга - мастерское переплетение исторических фактов и вымысла, которое увлекает читателей в бурный мир пятнадцатого века. Действие книги происходит на фоне Войны роз, ожесточенного конфликта между Домами Йорков и Ланкастеров за английский престол. В центре повествования - Ричард III,...

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

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

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

Жанр:

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

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

неизвестно

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

неизвестно

Год издания:

ISBN:

978-5-97060-101-3

Отзывы:

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

Рейтинг:

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

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

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

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

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

опуская замечания.
-

Всегда включайте вывод предупреждений . Даже если вы думаете, что знаете стандарт С
вдоль и поперек, компилятор все равно знает лучше. В старых учебниках С целые страницы
заполнены наставлениями не путать = и == и проверять, что каждая переменная инициализи­
руется перед использованием . Будучи автором более современного учебника, я поступлю
проще, сведя все наставления к одному: обязательно включайте предупреждения компиля­
тора . Если компилятор рекомендует что-то изменить, не спорьте с ним и не откладывайте
исправление на потом. Сделайте все, чтобы ( 1 ) понять, с чем связано предупреждение, и
( 2 ) исправить код, так чтобы он компилировался вообще без ошибок и предупреждений .
Невразумительность сообщений компилятора давно стала притчей во языцех, поэтому если
с пунктом ( 1 ) возникают сложности , скопируйте текст предупреждения в поисковик - вы уз­
наете, сколько народу до вас зашло в тупик, столкнувшись с ним. Возможно , вы захотите
задать флаг -Werror, чтобы компилятор трактовал все предупреждения как ошибки .

П ут и
На моем диске больше 700 ООО файлов, из которых один содержит объявления
функций sqrt и erf, а другой - объектный код откомпилированных функций.
(Чтобы получить грубую оценку количества файлов в РОSIХ-совместимой си­
стеме, выполните команду find / -type f 1 wc - 1 . ) Компилятор должен знать, в каких
каталогах искать заголовки и объектные файлы, и эта проблема еще осложняется,
когда мы пользуемся библиотеками, не описанными в стандарте С.
В типичной системе библиотеки могут находиться, по крайней мере, в трех ме­
стах.
О Поставщик операционной системы определяет один или два стандартных
каталога, где находятся поставляемые им библиотеки.
О Может существовать каталог, в который системный администратор уста�
навливает пакеты, которые не должны быть перезаписаны при очередном
обновлении ОС поставщиком. Там же могут находиться специальные вер­
сии библиотек, подправленные администратором.
О У обычных пользователей обычно нет прав для записи в эти места, поэтому
должна быть возможность использовать библиотеки, находящиеся в их до­
машних каталогах.
Что касается стандартных мест, то тут обычно проблем не возникает, компиля­
тор знает, где искать стандартную библиотеку С и все установленное вместе с ней.
В стандарте POSIX такие каталоги называются .
Но про все остальное компилятору нужно сказать явно. И тут мы сталкиваемся
с виз / /getenv, a t o i
# i nc l ude < s td i o . h > / / p r i n t f
i n t ma i n ( ) (
char * repstext = getenv ( " reps " ) ;
i n t reps = repstext ? a t o i ( repstext )

10;

cha r *msg = getenv ( " msg" ) ;
i f ( ! ms g ) msg = " H e l l o . " ;
for ( i nt i = O ; i < reps ; i + + )
print f ( " % s \ n " , msg) ;
Как и раньше, мы можем экспортировать переменные , так чтобы они действовал и только
в данной строке ; это еще больше упрощает процесс передачи переменной п рограм ме.

reps = l O msg= " H a " . / getenv
msg= " H a " . / getenv
reps=2 0 msg= " " . / getenv
В ы глядит это странновато , ведь естественно ожидать, что параметры п рограм м ы ука­
зы ваются после и м е н и , н о бог с ней , со странностью , зато внутр и самой п рограмм ы
н а м почти ничего не при шлось делать, так что м ы получили именованные параметры
чуть л и не задаром .
Н абравшись побольше о п ыта, вы сможете изучить описанную в POSIX фун кцию getopt
или п редлагаемую GNU функцию a rgp p a r s e , которые позвол я ют обрабатывать входные
параметры обычн ы м способо м .

В make есть также несколько встроенных переменных. Ниже перечислены те из
них (все описаны в POSIX), которые встретятся в рассматриваемых далее правилах.

40

•:•

Уасть 1. Окружение

$@
Полное имя целевого файла. Под целевым понимается файл, который предсто­
ит создать, например о-файл, получающийся в результате компиляции с-файла,
или программа, являющаяся результатом компоновки о-файлов.
$*
Имя целевого файла без суффикса. Так, если целевой файл называется ргоg.о, то
$ * содержит prog, а $ * . с принимает значение ргоg.с.
$<
Имя файла, в ходе обработки которого создается текущий целевой файл. Соз­
дание файла prog.o, вероятно, обусловлено тем, что недавно изменился файл
prog.c, поэтому $< будет равно prog.c.

Правила
Теперь перенесем внимание на процедуры, выполняемые при обработке файла
makefile, а затем обсудим, как на этот процесс влияют переменные.
Помимо задания переменных, в makefile имеются такие части:
ц ель --">

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


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