Разработка приложений в среде Linux - [12]
>^hi
.Несмотря на то что пользовательский интерфейс Emacs не такой красочный, как некоторые графические среды IDE, в этом редакторе есть множество мощных средств, которые могут понадобиться многим программистам. Например, при использовании Emacs для редактирования кода С. Emacs распознает тип файла и переходит в режим редактирования С, в котором распознается синтаксис С, что может помочь при поиске опечаток. Если вы запускаете компилятор из Emacs, редактор распознает сообщения об ошибках и предупреждениях компилятора, и позволяет перейти на строку с ошибкой при помощи одной команды, даже если для этого придется открыть новый файл. В Emacs также имеется режим отладки: отладчик находится в одном окне и проходит по коду, который вы отлаживаете в другом окне.
4.1.2. >vi
Если вы быстро набираете текст и хотите, чтоб ваши пальцы находились в правильном положении[3], >vi
вам наверняка понравится, поскольку его набор команд был разработан таким образом, чтобы движений пальцев печатающего было как можно меньше. Этот редактор также ориентирован на пользователей Unix. Если вы знакомы с >sed
или >awk
либо другими программами Unix, использующими стандартные регулярные выражения с >^
для перехода к началу строки и >$
для перехода к ее концу, работа с >vi
покажется вам простой и естественной.
К сожалению, освоение >vi
может оказаться более сложным, нежели Emacs. Дело в том, что хоть пособия по >vi
подобны учебникам по Emacs, ни в одной версии >vi
нет стандартного способа запуска учебного пособия. Тем не менее, многие версии, включая версию, поставляемую с обычными дистрибутивами Linux, поддерживают команду >:help
.
В наиболее общей версии >vi
, >vim
("Vi IMproved"), есть множество интегрированных средств из набора разработки Emacs, включая выделение синтаксиса, автоматическое расположение текста, язык написания сценариев и разбор ошибок компилятора.
4.2. >make
Основой программирования под Unix является >make
— средство, которое существенно упрощает описание компиляции программ. Даже притом, что небольшим программам порой достаточно одной команды для компиляции их исходного кода в исполняемый файл, все же намного легче написать >make
, чем строку вроде >gcc -02 -ggdb -DSOME DEFINE -о foo foo.c
. Более того, если имеется множество файлов для компиляции, а код был изменен лишь в некоторых из них, >make
создаст новые объектные файлы только для тех файлов, на которые повлияли изменения. Чтобы >make
совершила это "чудо", потребуется описать все файлы в make-файле (Makefile), пример которого показан ниже.
> 1: # Makefile
> 2:
> 3: OBJS = foo.о bar.о baz.o
> 4: LDLIBS = -L/usr/local/lib/ -lbar
> 5:
> 6: foo: $(OBJS)
> 7: gcc -o foo $ (OBJS) $ (LDLIBS)
> 8:
> 9: install: foo
>10: install -m 644 foo /usr/bin
>11: .PHONY: install
• Строка 1 — это комментарий; >make
следует обычной традиции Unix определения комментариев с помощью символа >#
.
• В строке 3 определяется переменная по имени >OBJS
как >foo.о bar.о baz.о
.
• В строке 4 определяется другая переменная — >LDLIBS
.
• В строке 6 начинается определение правила, которое указывает на то, что файл foo зависит от (в этом случае, собран из) файлов, имена которых содержатся в переменной >OBJS
. >foo
называется целевым объектом, а >$(OBJS)
— списком зависимостей. Обратите внимание на синтаксис расширения переменной: имя переменной помещается в >$(...)
.
Строка 7 — это командная строка, указывающая на то, как построить целевой объект из списка зависимостей. Командных строк может быть много, и первым символом в командной строке должна быть табуляция.
• Строка 9 — довольно интересный целевой объект. Фактически тут не предпринимается попытка создать файл по имени >install
; вместо этого (как видно в строке 10) >foo
инсталлируется в >/usr/bin
с помощью стандартной программы >install
. Эта строка вызывает неоднозначность в >make
: что, если файл >install
уже существует и является более новым, нежели >foo
? В этом случае запуск команды >make install
приведет к выдаче сообщения >'install' is up to date
(install является новее) и завершению работы.
• Строка 11 указывает >make
на то, что >install
не является файлом, и что необходимо игнорировать любой файл по имени >install
при вычислении зависимости >install
. Таким образом, если зависимость >install
была вызвана (как это сделать мы рассмотрим далее), команда в строке 10 всегда будет выполняться. >.PHONY
— это директива, которая изменяет операцию >make
; в этом случае она указывает >make
на то, что целевой объект >install
не является именем файла. Целевые объекты >.PHONY
часто используются для совершения действий вроде инсталляции или создания одиночного имени целевого объекта, которое основывается на нескольких других уже существующих целевых объектов, например:
>all: foo bar baz
>.PHONY: all
К сожалению, >.PHONY
не поддерживается некоторыми версиями make. Менее очевидный, не такой эффективный, но более переносимый способ для этого показан ниже.

Применение виртуальных машин дает различным категориям пользователей — от начинающих до IT-специалистов — множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение.В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенных для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels.

Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows.

Эта книга поможет вам разобраться в премудростях операционной системы Windows Vista.Информационная насыщенность учебного материала позволяет утверждать, что мультимедийный курс будет интересен и новичкам, и опытным пользователям.

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.

Количество персональных компьютеров в нашей стране растет год от года. Сегодня во многих семьях имеется два или даже три компьютера.Чтобы воспользоваться всеми преимуществами такой ситуации, компьютеры в вашей квартире стоит объединить сетью. Это позволит вам играть по сети в компьютерные игры, совместно использовать дисковое пространство, принтеры, модемы и другие устройства, всю сеть можно соединить с Интернетом. А в офисах сеть между компьютерами просто необходима.Открывающиеся перспективы выглядят очень заманчиво.

Курс лекций, включенных в брошюру, знакомит читателя с популярными свободными программами и системами, полезными при преподавании информатики в средней школе. В обзор вошли основы открытых операционных систем, сведения о пакете «офисных» программ OpenOffice.org, коммуникационном пакете Mozilla, графическом редакторе GIMP, современных графических средах GNOME и KDE и других программах.Для преподавателей информатики и методистов, а также для студентов и аспирантов соответствующих специальностей.© 2002-3, Максим Отставнов.© 2002, Андрей Добровольский (раздел 3.1).Использован текст лекций, публиковавшихся автором в приложении к газете «Первое сентября» «Информатика» (http://inf.1september.ru) в 2002-3 г., материалы брошюры «Прикладные свободные программы в школе» (М.: 2003 г.), а также фрагменты статей, ранее публиковавшихся в журналах «Компьютерра» и «Домашний компьютер».Материалы, представленные в этой книге, также доступны в Интернет на странице www.otstavnov.com/fsft на условиях Свободной лицензии ГНУ на документацию (GNU FDL)