Link on target/ru

From Free Pascal wiki
Jump to navigationJump to search
Logo OSX.png

Эта статья относится только к Mac OS Classic.

См. также: Multiplatform Programming Guide

English (en) Bahasa Indonesia (id) русский (ru)

Целевое связывание представляет собой процесс сборки программы под ОС, отличной от текущей. Например, написав программу в Windows, вы можете откомпилировать её для запуска в Linux. В данном случаи Linux будет целевой ОС (т.е. ОС, в которой предполагается дальнейшая работа программы), а Windows хост системой (т.е. ОС в которой произойдёт только компиляция, но программа не будет рассчитана для работы ней).

Параметр командной строки –st, указывает, что сборка и связывание модулей программы будут выполнены вручную после компиляции программы. Вместо выполнения данных действий, компилятор создаёт скрипт, при вызове которого, для данной программы завершится процесс сборки. Имя скрипта имеет вид: <цель>_ppas

В скрипте предполагается, что файл-дерево может быть как и цель, так и хост и что каталог, в котором находится скрипт, является текущим каталогом. В зависимости от настройки это может быть выполнено различными способами. Если цель находится на другом компьютере, файлы должны передаваться по сети, с использованием дискеты или другими средствами. Если целью является другая ОС на том же компьютере, файлы не могут быть перемещены физически. Вместо этого необходимо выключить текущею систему и запустить целевую ОС.

При одновременном использовании macOS в качестве целевой и хост системы, не нужно перезагружать ПК, если установлена совместимая с классической среда. Вместо этого, нужно просто использовать MPW (которая работает во всех совместимых с классической средах) и выполнить ваш скрипт там.

Один нюанс при запуске скрипта в MPW: Так как скрипт создавался в macOS: Darwin, от не имеет Mac-тип файла и имя создателя(автора). Таким образом, вы должны дать ему Mac тип файла. Это может быть сделано с помощью следующей команды в MPW:

 SetFile -c 'MPS ' -t 'TEXT' <имя файла>

Подробнее о работе с MPW здесь.

Обратите внимание, что некоторые параметры, указанные при компиляции, также влияют на генерируемый скрипт:

 -a

... как правило, означает, что компилятор не удалит сгенерированный файл. При использовании -st ( или -s )генерируемый скрипт останется. Это полезно для отладки на целевой системе.