103 lines
7.1 KiB
HTML
103 lines
7.1 KiB
HTML
<html>
|
||
|
||
<head>
|
||
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||
<param name="Keyword" value="Директивы компилятора">
|
||
<param name="Keyword" value="apptype">
|
||
<param name="Keyword" value="reference">
|
||
<param name="Keyword" value="gendoc">
|
||
<param name="Keyword" value="mainresource">
|
||
<param name="Keyword" value="resource">
|
||
<param name="Keyword" value="title">
|
||
<param name="Keyword" value="description">
|
||
<param name="Keyword" value="product">
|
||
<param name="Keyword" value="version">
|
||
<param name="Keyword" value="company">
|
||
<param name="Keyword" value="copyright">
|
||
<param name="Keyword" value="trademark">
|
||
<param name="Keyword" value="include">
|
||
<param name="Keyword" value="define">
|
||
<param name="Keyword" value="undef">
|
||
<param name="Keyword" value="ifdef">
|
||
<param name="Keyword" value="ifndef">
|
||
<param name="Keyword" value="else">
|
||
<param name="Keyword" value="endif">
|
||
<param name="Keyword" value="faststrings">
|
||
<param name="Keyword" value="region">
|
||
<param name="Keyword" value="endregion">
|
||
<param name="Keyword" value="string_nullbased">
|
||
<param name="Keyword" value="platformtarget">
|
||
<param name="Keyword" value="targetframework">
|
||
</object>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||
<title></title>
|
||
<link rel="StyleSheet" href="../../default.css">
|
||
</head>
|
||
|
||
<body>
|
||
<H1>Директивы компилятора</H1>
|
||
<p>Директивы компилятора - это специальные команды компилятору в ходе
|
||
компиляции, записанные в тексте программы внутри последовательности {$ ... }.
|
||
Фигурные скобки обозначают комментарий, но наличие знака $ после { говорит о
|
||
том, что внутри комментария располагается директива компилятора. </p>
|
||
<p>Общий вид директивы компилятора:</p>
|
||
<blockquote><code>{$ИмяДирективы параметры}</code></blockquote>
|
||
<h2>Список директив компилятора</h2>
|
||
<p><b>{$apptype <тип приложения>}</b> - задание типа приложения
|
||
(windows/console). </p>
|
||
<p><b>{$reference <имя файла>}</b> - подключение библиотеки. </p>
|
||
<p><b>{$include <имя файла>}</b> - включение в текст программы содержимого
|
||
указанного файла. </p>
|
||
<p><b>{$define <идентификатор>}</b> - определение имени, используемого в
|
||
директивах <b>$ifdef</b>, <b>$ifndef</b>. </p>
|
||
<p><b>{$undef <идентификатор>}</b> - исключение имени, используется для отмены
|
||
действия директивы <b>$define</b>. </p>
|
||
<p><b>{$ifdef <идентификатор>}</b> - начало блока условной компиляции
|
||
(проверяется условие: "идентификатор определен"). </p>
|
||
<p><b>{$ifndef <идентификатор>}</b> - начало блока условной компиляции
|
||
(проверяется условие: "идентификатор не определен"). </p>
|
||
<p><b>{$else}</b> - директива "иначе" в блоке условной компиляции. </p>
|
||
<p><b>{$endif}</b> - завершение блока условной компиляции. </p>
|
||
<p><b>{$faststrings}</b> - строки с быстрым доступом к символам на запись, но со
|
||
ссылочной семантикой. </p>
|
||
<p><b>{$zerobasedstrings}</b> - включение строк, индексируемых с 0.</p>
|
||
<p><b>{$zerobasedstrings on}</b> - включение строк, индексируемых с 0.</p>
|
||
<p><b>{$zerobasedstrings off}</b> - выключение строк, индексируемых с 0.</p>
|
||
<p><strong>{$</strong><span class="highlight-strong"><strong>platformtarget</strong></span><strong>
|
||
x86}</strong> - компиляция для 32-битной платформы (требуется для подключения
|
||
32-битных dll)</p>
|
||
<p><strong>{$</strong><span class="highlight-strong"><strong>platformtarget</strong></span><strong>
|
||
x64}</strong> - компиляция для 64-битной платформы</p>
|
||
<p><b>{$gendoc <параметр>}</b> -генерация документации в XML формате. Параметры:
|
||
<b>true</b>, <b>false</b>. </p>
|
||
<p><b>{$mainresource <имя файла>}</b> - подключение .res файла в качестве
|
||
неуправляемого ресурса </p>
|
||
<p><b>{$resource <имя файла>}</b> - подключение файла в качестве управляемого
|
||
ресурса </p>
|
||
<p><b>{$region <имя региона>}</b> - начало региона (используется в
|
||
редакторе в режиме сворачивания кода</p>
|
||
<p><b>{$endregion}</b> - конец региона</p>
|
||
<p><b>{$title <описание>}</b> - название сборки как информационного
|
||
продукта</p>
|
||
<p><b>{$description <описание>}</b> - краткое описание сборки</p>
|
||
<p><b>{$product <название продукта>}</b> - информация о продукте </p>
|
||
<p><b>{$version <версия продукта>}</b> - версия продукта </p>
|
||
<p><b>{$company <компания>}</b> - компания </p>
|
||
<p><b>{$copyright <копирайт>}</b> - копирайт </p>
|
||
<p><b>{$trademark <торговая марка>}</b> - торговая марка </p>
|
||
<p><b>{$targetframework <версия>}</b> - минимальная версия .NET Framework, требуемая для запуска </p>
|
||
<p>Директивы <b>$ifdef</b>, <b>$ifndef</b> совместно с директивами <b>$else</b>
|
||
и <b>$endif</b> управлют условной компиляцией частей исходного файла. Каждой
|
||
директиве <b>$ifdef</b>, <b>$ifndef</b> должна соответствовать завершающая ее
|
||
директива <b>$endif</b>. Между директивами <b>$ifdef</b>, <b>$ifndef</b> и <b>
|
||
$endif</b> допускается произвольное количество блоков условной компиляции (в том
|
||
числе вложенных) и не более одной директивы <b>$else</b>. </p>
|
||
<p><strong>Пример.</strong> Использование директив условной компиляции.</p>
|
||
<blockquote><code>{$define DEBUG} <br><strong>begin</strong><br> {$ifndef
|
||
DEBUG}<br> writeln('Имя DEBUG не определено');<br>
|
||
{$else} <br> writeln('Имя DEBUG определено');<br>
|
||
{$endif}<br><strong>end</strong>.</code></blockquote>
|
||
</body>
|
||
|
||
</html>
|