Cтраница 2
Компиляция R / TRANa фактически состоит из двух шагов: собственно компиляции предложений R / TRANa в предложения языка ассемблера и последующей трансляции полученной программы транслятором с языка ассемблера. [16]
Компиляция операторов if / goto и let сложнее по сравнению с другими операторами - это единственные операторы, транслируемые в более чем одну инструкцию SML. Для оператора if / goto компилятор генерирует код проверки условия и, в случае необходимости, перехода на другую строку. Результатом перехода может оказаться неразрешенная ссылка. [17]
Компиляция модуля внешнего отчета ( обработки) выполняется при открытии внешнего отчета, поэтому после редактирования внешнего отчета в Конфигураторе и его сохранения необходимо вновь открыть этот отчет в системе 1C: Предприятие. [18]
Компиляцию применяют в тех случаях, когда необходимо быстрое и неоднократное исполнение программы. [19]
Компиляцию и выполнение осуществляет ЭВМ в соответствии с командами пользователя, которые он выдает, используя язык управления заданиями, или командный язык. Ввод исходной программы, ее коррекции и анализ результатов пользователь выполняет обычно с помощью ЭВМ, которой он в этом случае управляет с помощью командного языка. [20]
После компиляции обычной ( статической процедуры), компоновщик выбирает откомпилированный код процедуры из откомпилированного модуля Delphi ( или статической библиотеки) и добавляет ее в код программы. Результирующий исполняемый файл включает весь код программы и используемых модулей. Компоновщик Delphi достаточно умен, чтобы включать только минимальный объем кода программных модулей, и присоединять только те функции и методы, которые действительно используются. [21]
После компиляции этой программы вы можете запустить ее, однако для нас интересно не столько запустить программу, сколько изучить ее с использованием ILDASM. Запустите ILDASM и выберите File Open ( Файл Открыть) Перейдите в каталог, в котором расположен файл DestructorTest. [22]
![]() |
Расположение макрокоманд и макроопределений в исходной и скомпилированной программе. [23] |
При компиляции переход от макроопределения системного и пользовательского к макрорасширению одинаков, за исключением обработки синтаксических ошибок. При обнаружении ошибок в макроопределении пользователя транслятор с языка ассемблера приписывает сообщения об ошибках тем командам, в которых эти ошибки встретились. [24]
При компиляции переход от макроопределения системного и пользователя к макрорасширению одинаков, за исключением обработки синтаксических ошибок. При появлении ошибки в макроопределении пользователя сообщения об ошибках приписываются тем предложениям, где эти ошибки встретились. При появлении ошибок в системном макроопределении сообщения об ошибках приписываются оператору END, так как системные макроопределения вызываются из макробиблиотеки и редактируются после того, как считана целиком вся исходная программа. [25]
При компиляции каждый символический параметр замещается соответствующим символом из макрокоманды, образуя единый символ в макрорасширении. Необходимо обратить внимание на то, что в предложении прототипа каждый символический параметр составного символа записывается отдельно. В макрокоманде для каждого символического параметра указывается свое значение. [26]
При компиляции точка, стоящая за символическим параметром, опускается. Таким образом символ макрокоманды, замещающий символический параметр вместе с буквой, цифрой или скобкой образуют единый символ. [27]
При компиляции SETC-переменной & ALPHA присваивается символ СОМР. [28]
После компиляции получаются два макрорасширения. Если бы метка перехода не была записана с помощью системного символа A & SYSNDX, а была записана, как было показано в программе на базовом языке ассемблер в виде символа BACK, то в подполе названия после компиляции появилось бы два одинаковых имени BACK, что было бы ошибкой, так как в подполе названия одна и та же метка может встретиться только один раз. [29]
При компиляции символический параметр & PREFIX заменится на символ AREA, системный символ переменной & SYSLIST ( 2) - на символ А. [30]