Программирование на Objective-C 2.0
Шрифт:
Рис. 2.6. ОКНО проекта Xcode prog1
Рик. 2.7. Файл progl.m и окно редактирования (edit)
В окне проекта Xcode (внизу справа) показан файл с именем progl.m, содержащий следующие строки: #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; // insert code here... (введите здесь код) NSLog (@"Hello World!"); [pool drain]; return 0; }
Примечание.
В этом окне Xcode предоставляет файл шаблона, который вы можете редак-тировать. Внесите изменения, соответствующие тексту программы 2.1. Строка в начале файла progl .m, которая начинается с двух слэшей (//), называется ком-ментарием; ниже мы поговорим о них более подробно.
Ваша программа в окне редактирования должна выглядеть следующим об-разом. // First program example #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSLog (@"Programming is fun!"); [pool drain]; return 0; }
Обратите внимание на цвета текста. Xcode выделяет разными цветами зна-чения, зарезервированные слова и т.д.
Теперь можно скомпилировать и выполнить программу. В терминологии Xcode эти этапы называются build and run (Сборка и выполнение). Сначала следует сохранить программу, выбрав пункт Save в меню File. Если попытаться ском-пилировать и выполнить программу без сохранения файла, Xcode спросит, хотите ли вы сохранить его.
В меню Build (Сборка) можно выбрать Build или Build and Run. Выберите второй вариант, поскольку программа, скомпилированная без ошибок, будет выполнена автоматически.
Можно также щелкнуть на значке Build and Go, который показан в панели инструментов.
Примечание. Build and Go означает «Выполнить сборку и затем запустить пос-леднюю операцию, которую я просил выполнить». Это может быть Run, Debug, Run with Shark or Instruments и т.д. При первом использовании для проекта Build and Go означает «собрать и выполнить программу» (Build and Run). Однако в дальнейшем «Build and Go» и «Build and Run» не всегда означают одно и то же.
Если в программе имеются ошибки, то на этом этапе вы увидите сообщение об ошибках. Вернитесь назад, исправьте ошибки и повторите процесс. После устранения всех ошибок появится окно progl - Debugger Console (Консоль отладчика). Это окно содержит выходные результаты программы (рис. 2.8). Если это окно не появляется автоматически, перейдите в линейку главного меню и выберите Console в меню Run. Содержимое окна Console будет описано ниже.
Рис. 2.8. Окно Xcode Debugger Console
Вы закончили процедурную часть компиляции и выполнения программы с помощью Xcode. Ниже приводится последовательность шагов для создания новой программы с помощью Xcode.
Запустите приложение Xcode.
Если это новый проект, выберите File, New Project.
Для типа приложения выберите Command Line Utility, Foundation Tool и щел-кните на кнопке Choose.
Выберите имя проекта и папку для сохранения в ней файлов проекта. Щел-кните на кнопке Save.
В верхней правой панели вы увидите файл progl.m (или то имя, которое вы назначили своему проекту, с расширением имени .т). Выделите этот файл. Введите текст программы в окне редактирования (edit), которое появится непосредственно под этой панелью.
Сохраните
изменения, выбрав File, Save.Запустите сборку и выполнение приложения, выбрав Build, Build and Run или щелкнув на кнопке Build and Go.
В случае ошибок при компиляции внесите в программу изменения и повторите шаги 6 и 7. Приложение Terminal
Если вы привыкли использовать оболочку UNIX и средства командной строки, то можете редактировать, компилировать и выполнять программы, используя приложение Terminal. Ниже описывается, как это делать.
Первый шаг — это запуск приложения Terminal на вашем Маке. Приложение Terminal находится в папке Applications внутри Utilities. На рис. 2.9 показан его значок.
Запустите приложение Terminal. Появится окно, аналогичное рис. 2.10.
Рис. 2.9. Значок программы Terminal
Команды вводятся в каждой строке после символа $ (или % — в зависимости от настройки вашего приложения Terminal). Это вполне понятно, если вы знакомы с использованием UNIX,
Сначала нужно ввести в файл строки из программы 2.1. Можно начать с со-здания папки, в которой будут сохраняться примеры ваших программ. Затем для ввода вашей программы нужно запустить текстовый редактор, например, vi или emacs. sh-2.05a$ mkdir Progs # Создание папки для сохранения программ sh-2.05a$ cd Progs # Переход в новую папку sh-2.05a$ vi progl.m # Запуск текстового редактора для ввода программы
Рис. 2.10. Окно Terminal
Примечание. В показанном примере и в остальной части книги команды, которые вводятся пользователем, выделены полужирным начертанием.
Для файлов Objective-C можно выбрать любое имя, но в конце имени должны стоять символы .т, которые указывают компилятору, что используется Objective-C.
Для файла с текстом программы можно выполнять компиляцию и сборку с помощью компилятора GNU Objective-C, который называется дсс. Команда дсс имеет следующий формат: gcc -framework Foundation файлы -о имя_программы
Опция -framework Foundation указывает, что используется информация о Foundation framework.
Эта опция должна быть указана в командной строке. Файлы — это список файлов для компиляции. В нашем примере такой файл только один (с именем progl.m). Имя_программы — это имя исполняемого файла, который будет создан, если файл скомпилируется без ошибок.
Эта программа называется prog 1. Ниже приводится командная строка для компиляции этой программы: $ gcc -framework Foundation progl .m -о progl # Компилировать progl.m и назвать ее prog 1 $
Возврат символа командной строки без каких-либо сообщений означает, что в программе не обнаружено ошибок. Вы можете выполнить такую программу, введя имя progl в командной строке: $ progl Выполнение progl sh: prog 1: command not found (команда не найдена) $
Вы можете получить этот результат, если раньше не использовали Terminal. Оболочка UNIX (то есть приложение, выполняющее вашу программу), «не зна-ет», где находится progl (мы не будем подробно объяснять это здесь). Есть два варианта решения этой проблемы. Первый — поставить перед именем программы символы ./, чтобы оболочка искала программу в текущей папке. Второй— добавить папку, в которой хранится ваша программа (или просто текущей папки), к переменной оболочки PATH. Мы используем первый способ: $ ./progl Выполнение progl 2008-06-08 18:48:44.210 progl [7985:10b] Programming is fun! $