Текущий раздел:

Описания RDS

Описание пользователя

Глава 3. Использование стандартных модулей автокомпиляции

§3.8. Настройки стандартного модуля автокомпиляции

§3.8.6. Запуск компилятора и редактора связей

# Описание пользователя

## Глава 3. Использование стандартных модулей автокомпиляции

### §3.8. Настройки стандартного модуля автокомпиляции

#### §3.8.6. Запуск компилятора и редактора связей

Описывается настройка командной строки для запуска компилятора и редактора связей.

Для того, чтобы модуль мог скомпилировать модель блока, мало указать пути к исполняемым файлам компилятора и редактора связей на вкладке «компилятор» окна его параметров. Нужно также задать параметры командной строки для запуска этих программ со всеми параметрами, необходимыми для правильной компиляции DLL Windows.

Для того, чтобы задать командную строку запуска компилятора, следует вызвать окно настройки модуля и на его вкладке «компилятор» нажать кнопку «дополнительно». В открывшемся дополнительном окне настроек следует выбрать вкладку «компилятор» (рис. 496).

Рис. 496. Настройка запуска компилятора (на примере Borland C++ 5.5)

В верхней части вкладки вводится командная строка для запуска компилятора. В нее должно входить имя исполняемого файла с полным путем к нему и, после него, все необходимые параметры (иногда называемые «ключами»). В командной строке можно использовать любые символические обозначения файлов и папок, описанные в §3.8.4 – таким образом, для указания полного пути к исполняемому файлу компилятора достаточно написать «$COMP$».

Любые пути в командной строке следует вводить в двойных кавычках. Это связано с тем, что разделителем параметров в командной строке Windows является пробел, и, если пробел окажется внутри пути к файлу, строка будет разобрана неправильно. Допустим, например, что мы хотим запустить компилятор «bcc32.exe», находящийся в папке «C:\Program Files\bcpp55\bin\». Можно попытаться записать командную строку в следующем виде:

      C:\Program Files\bcpp55\bin\bcc32.exe

При этом пробел в имени папки «Program Files» будет распознан как разделитель параметров, и Windows будет пытаться запустить исполняемый файл «C:\Program» и передать ему параметр «Files\bcpp55\bin\bcc32.exe», что, разумеется, не увенчается успехом. Ситуация изменится, если заключить строку в двойные кавычки:

      "C:\Program Files\bcpp55\bin\bcc32.exe"

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

На всякий случай, командную строку всегда следует завершать одним лишним пробелом. Хотя это и не является обязательным требованием, некоторые программы неправильно разбирают переданные им параметры без этого пробела.

Командная строка должна начинаться с полного пути к исполняемому файлу компилятора (то есть с текста «$COMP$» в двойных кавычках), за которым следуют все параметры этого компилятора, необходимые для компиляции DLL Windows – их можно узнать из описания к компилятору. Перед настройкой модуля автокомпиляции настоятельно рекомендуется научиться компилировать модели блоков вручную – так можно проверить действие параметров компилятора и определить, какие именно параметры требуются. Все пути, присутствующие в параметрах, необходимо заключать в двойные кавычки по указанной выше причине.

Параметры можно указывать не только в командной строке, длина которой ограничена. Многие компиляторы позволяют записать параметры в текстовый файл (так называемый response file), а в командной строке указать только имя этого файла. При большом количестве параметров этот путь предпочтительнее. Текстовый файл с параметрами всегда создается модулем автокомпиляции в папке временных файлов RDS, поэтому в качестве его имени с полным путем можно использовать сочетание символических обозначений «$RDSTEMP$\$RESPONSE$». Как правило, для указания использования такого файла в командной строке компилятора предусмотрен специальный параметр – например, в Borland C++ 5.5 полный путь к файлу параметров указывается после символа «@».

Содержимое файла параметров вводится в большом многострочном поле непосредственно под полем для командной строки (см. рис. 496). В этом поле тоже можно использовать любые символические обозначения файлов и папок. Чтобы не вводить эти обозначения вручную, можно установить курсор в том месте поля ввода командной строки или файла параметров, в котором нужно вставить обозначение, нажать кнопку «вставить параметр» в левой нижней части вкладки, и выбрать нужное обозначение в появившемся меню (см. рис. 495). Кнопка «восстановить исходные» присваивает командной строке и тексту файла параметров значения по умолчанию, подходящие для компилятора, для которого предназначен модуль (в универсальных модулях оба поля просто очищаются).

После завершения работы компилятора исходный текст программы, сформированный модулем, преобразуется в объектный файл. Для получения из него DLL необходимо обработать его редактором связей. Некоторые компиляторы способны сами вызывать редактор связей, но, чаще всего, приходится настраивать его вызов вручную. Для этого служит вкладка «редактор связей» (рис. 497) окна дополнительных настроек модуля, открывающегося кнопкой «дополнительно» вкладки «компилятор» основного окна настроек.

Рис. 497. Настройка запуска редактора связей (на примере Borland C++ 5.5)

В верхней части вкладки находится флажок «вызывать редактор связей после компилятора» – для отдельного запуска редактора связей он должен быть установлен. Если компилятор сам вызывает редактор связей, флажок устанавливать не нужно, но в этом случае все параметры, необходимые для сборки DLL, должны быть указаны в параметрах вызова компилятора согласно его описанию.

Ниже флажка располагаются поля ввода для командной строки редактора связей и файла параметров, если он используется. Файл параметров для редактора связей, как и для компилятора, создается модулем автокомпиляции в папке временных файлов RDS. В обоих полях ввода можно использовать символические обозначения файлов и папок (см. §3.8.4) – их можно вводить вручную или выбирать из меню, открывающегося при нажатии кнопки «вставить параметр» в нижней части вкладки. Кнопка «восстановить исходные» присваивает обоим полям значения по умолчанию.

После завершения работы редактора связей должен быть создан исполняемый файл DLL с моделью блока, пригодный для подключения к RDS. Как правило, никаких дополнительных действий с этим файлом делать не нужно. Тем не менее, модуль автокомпиляции поддерживает запуск еще одной, дополнительной, программы после редактора связей. Необходимость ее запуска, ее командная строка и содержимое файла параметров, если он нужен, задаются на вкладке «после компиляции» в том же окне (рис. 498). Ни один из стандартных компиляторов не требует запуска такой дополнительной программы.

Рис. 498. Настройка запуска дополнительной программы

В нижней части всего дополнительного окна настроек, слева от кнопок «OK» и «отмена», находится включенный по умолчанию флажок «сворачивать окна консольных приложений». Его установка позволяет «спрятать» дополнительные окна, открывающиеся в момент запуска компилятора и редактора связей. Эти окна, которые открываются на короткое время и, как правило, имеют черный цвет, могут сбить пользователя с толку, поэтому лучше держать их скрытыми. В них обычно нет информации, которая могла бы пригодиться пользователю – при правильной настройке модуля автокомпиляции сообщения об ошибках, выдаваемые компилятором и редактором связей, будут разобраны и показаны пользователю в окне редактора модели.