Подготовка портировать
Закаленный разработчик UNIX распознает, что независимо от того, как подобные две основанных на UNIX операционных системы могут быть, всегда существуют подробные данные, устанавливающие один кроме другого.
Эта глава выделяет области для знания при компиляции кодовой базы для OS X. Это отмечает подробные данные о флагах компилятора, которые важны для Вас, и дает понимание, как соединить различные части Вашего кода в OS X. Многие из этих тем затронуты более экстенсивно в других ресурсах, как отмечено.
За редким исключением эта глава применяется ко всем вариантам разработчиков UNIX. Однако существует несколько вещей, которые являются определенными для данной аудитории. На них указывают, как они появляются.
При портировании приложения с открытым исходным кодом необходимо сначала проверить, чтобы видеть, портировал ли какой-либо из наборов порта с открытым исходным кодом уже приложение, чтобы избежать копировать усилие. Необходимо также рассмотреть включая порт в одном из этих наборов, чтобы упростить для других использовать в своих интересах его. Наконец, необходимо всегда делать изменения доступными в восходящем направлении исходному проекту с открытым исходным кодом для включения в будущие выпуски.
Некоторые основанные на Дарвине наборы порта с открытым исходным кодом включают:
Макпортс (http://www .macports.org/)
Штрейкбрехер (http://fink .sourceforge.net/)
GNU-Дарвин (http://www .gnu-darwin.org/)
Для получения дополнительной информации об этих наборах порта посетите их веб-сайты.
Перед обеспечением основного порта кода к OS X удостоверьтесь, что у Вас есть необходимые инструменты для задачи. Это помогает знать то, что и не доступно Вам по умолчанию.
Среда командной строки OS X
Самая важная вещь сделать прежде, чем портировать приложение состоит в том, чтобы ознакомить себя со средой OS X. В частности необходимо ознакомить себя с приложением Установок системы (и настроить компьютер для удовлетворения), и Терминальное приложение (для получения интерфейса командной строки).
Приложение Установок системы расположено в Applications
папка на корневом уровне Вашего жесткого диска. Terminal
приложение расположено в Utilities
папка (который является в Applications
папка на корневом уровне Вашего жесткого диска).
Как только у Вас есть открытое Окно терминала, можно использовать в своих интересах основной выбор общих инструментов, предположив, что они установлены. Перед использованием OS X как платформа разработки необходимо удостовериться, что установлена подсистема BSD. На OS X v10.4, эта опция установлена по умолчанию, но на предыдущих версиях, это не было.
Можно проверить на это путем поиска получения пакета BSD, BSD.pkg
, в /Library/Receipts
. Если это получение не присутствует в Вашей системе, необходимо переустановить OS X. Когда Вы делаете, необходимо настроить установку путем проверки флажка BSD Subsystem.
С установленной подсистемой BSD, взгляд через /bin
и /usr/bin
должен показать знакомую среду.Добро пожаловать домой.
Установка инструментов разработчика OS X
Поскольку OS X имеет ядро BSD, у Вас есть доступ к многочисленным инструментам с открытым исходным кодом, что Вы уже знакомы с (как инструменты GNU, например).
Пакет Инструментов XCode OS X обеспечивает дополнительные инструменты, которые необходимо будет установить для закругления среды разработки. Они не часть стандартной установки, но важны для Вас. Они содержат некоторые самые важные инструменты, такие как компилятор (gcc) и отладчик (gdb).
Если Вы не находите, большинство (если не все) инструментов, описанных в этом документе, является частью установки Инструментов XCode, поэтому autoconf
или make
, например, это, вероятно, означает, что Вам не устанавливали Инструменты XCode.
Можно счесть Установщик Инструментов XCode на OS X DVD (или как один из CDs в версии CD). Кроме того, можно всегда получать очень последнюю версию онлайн из веб-сайта Apple Developer Connection (ADC), http://connect .apple.com или App Store. Вам нужна учетная запись ADC для загрузки Инструментов Разработчика. Бесплатные учетные записи доступны для тех, кому просто нужен доступ к инструментам.
После установки Инструментов Разработчика OS X у Вас будет выбор новых инструментов для использования в своих интересах:
/usr/bin
теперь содержит больше инструментов командной строки, чем было предоставлено одним только пакетом BSD, прежде всего gcc и gdb./usr/bin/cc
значения по умолчанию к gcc 3 в версии 10.2 OS X и позже, но gcc 2.95.2 также доступно. Посмотрите Выбор Compiler для получения дополнительной информации.XCode является графической интегрированной средой разработки для приложений на языках параллельного программирования.
Интерфейсный Разработчик обеспечивает простой способ создать сложные пользовательские интерфейсы.
FileMerge позволяет Вам графически сравнить и объединить файлы и каталоги.
IORegistryExplorer помогает Вам определить, какие устройства регистрируются в I/O KIT. Посмотрите Драйверы устройств для обсуждения Набора I/O.
MallocDebug анализирует всю выделенную память в приложении. Это может измерить память, выделенную начиная с данного момента времени, и обнаружить утечки памяти
Документация для этих инструментов доступна от Apple Технический веб-сайт Публикаций.
Разрабатывание проектов make-файла с XCode
Исходные приложения OS X могут быть созданы во многих средах. Утилиты Most UNIX создаются с помощью make-файлов, хотя некоторые создаются с помощью сценариев сборки, imakefiles, или различных других механизмов.
При портировании инструмента командной строки UNIX для персонального использования Вы, вероятно, хотите продолжать использовать существующую среду сборки, потому что хранение многократных сред сборки синхронизировалось, может быть хитрым в лучшем случае Однако, если Вы портируете более обширный инструмент, и Вы планируете добавить OS X GUI к инструменту, можно счесть более удобным работать с проектом в среде разработки, такой как XCode.
Несмотря на то, что XCode отслеживает настройки сборки в ее собственных предпочтительных файлах для получения информации вне того, что могло обычно сохраняться в make-файле, это может также работать в тесном сотрудничестве с make-файлами Вашего проекта. Если Вы хотите использовать XCode для разработки в OS X, можно включать make-файл в проект XCode следующим образом:
Запуск XCode.
Выберите New Project из меню File.
Выберите любой тип проекта, для которого Вы предназначаетесь. Если Вы в конечном счете хотите приложение, выберите что-то как Приложение Какао. Если Вы просто пытаетесь создать утилиту командной строки, выберите один из инструментов — например, Стандартного Инструмента.
Следуйте за подсказками, чтобы назвать и сохранить Ваш проект. Открыт новый проект по умолчанию того типа.
Откройте Целевой треугольник раскрытия и удалите любые цели по умолчанию, которые могут существовать.
Из Меню проектов Выберите Новый Target.
Выберите «External Target» из списка. Если это не показано в “Специальных Целях” список, Вы не выполняете последнюю версию XCode. Обновление сначала.
Следуйте за подсказками для именования той цели. Когда Вы сделали это, целевой значок с именем, которое Вы просто дали, это появляется в области Targets открытого окна Xcode.
Дважды щелкните по той новой цели. Необходимо теперь видеть новое окно с информацией о сборке для этой цели. Это не та же вещь как щелчок по информации. Необходимо дважды щелкнуть по самой цели.
В разделе «Custom Build Command» целевого инспектора измените поле под названием «Каталог», чтобы указать на каталог, содержащий Ваш make-файл и изменить любые другие настройки по мере необходимости. Например, в области Custom Build Settings, Вы могли изменить Инструмент Сборки от
/usr/bin/gnumake
к/usr/bin/bsdmake
. Больше информации о полях доступно в Справке XCode.Измените активную цель на свою новую цель путем выбора «Set Active Target» из Меню проектов.
Добавьте исходные файлы к проекту. Чтобы сделать это, сначала откройте треугольник раскрытия около папки «Source» в левой стороне окна проекта. Затем, перетащите папку, содержащую источники от Средства поиска в ту папку «Source» в XCode. Скажите XCode не копировать файлы. XCode рекурсивно найдет все файлы в той папке. Удалите что-либо, что Вы не хотите перечисленный.
Когда Вы будете готовы разработать проект, нажмите Build и Кнопку запуска на панели инструментов, выберите Build из меню Build, или просто нажмите Command-B.
Как только проект разрабатывается, скажите XCode, где найти исполнимую программу путем выбора «New Custom Executable» из Меню проектов. Выберите путь, где исполнимая программа расположена, затем добавьте имя исполнимой программы.
Выполните получающуюся программу путем нажатия Command-R.
Это должно запустить Вас в подаче Вашего приложения в собственную среду сборки OS X.
Соображения оконной среды
Перед компиляцией приложения в OS X знать, что собственная работа с окнами OS X и подсистема отображения, Кварц, основываются на Portable Document Format (PDF). Кварц состоит из легкого сервера окна, а также библиотеки рендеринга графики для двумерных форм. Функции сервера окна независящая от устройств глубина цвета и пиксельная глубина, разделенное на уровни составление композита и буферизованные окна. Моделью рендеринга является базируемый PDF.
Кварц не является реализацией X-оконной системы. При необходимости в реализации X11R6 можно легко установить тот. Для получения дополнительной информации см. X11R6.
Информация о графических средах, доступных Вам, может быть найдена в Выборе Graphical Environment for Your Application вместе с некоторыми вещами рассмотреть при выборе графической среды.
Работа с 64-разрядным программным обеспечением
Начинаясь в версии 10.4, OS X поддерживает выполнение 64-разрядных инструментов командной строки. Также возможно использовать 32-разрядное клиентское приложение OS X для обеспечения пользовательского интерфейса посредством тщательного использования коммуникации клиент-сервер.
Этот документ прежде всего охватывает общие проблемы портирования. Проблемы, определенные для 64-разрядных вычислений, выходят за рамки этого документа. Для получения дополнительной информации о портировании 64-разрядного программного обеспечения к OS X см. документ 64-разрядное Руководство по Переходу.