Link on target/ru
Эта статья относится только к 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 )генерируемый скрипт останется. Это полезно для отладки на целевой системе.