pascalabcnet/PABCNetHelp/LangGuide/CompilerDirectives/index_directives.html

101 lines
5.2 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">
</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 &lt;òèï ïðèëîæåíèÿ&gt;}</b> - çàäàíèå òèïà ïðèëîæåíèÿ
(windows/console). </p>
<p><b>{$reference &lt;èìÿ ôàéëà&gt;}</b> - ïîäêëþ÷åíèå áèáëèîòåêè. </p>
<p><b>{$include &lt;èìÿ ôàéëà&gt;}</b> - âêëþ÷åíèå â òåêñò ïðîãðàììû ñîäåðæèìîãî
óêàçàííîãî ôàéëà. </p>
<p><b>{$define &lt;èäåíòèôèêàòîð&gt;}</b> - îïðåäåëåíèå èìåíè, èñïîëüçóåìîãî â
äèðåêòèâàõ <b>$ifdef</b>, <b>$ifndef</b>. </p>
<p><b>{$undef &lt;èäåíòèôèêàòîð&gt;}</b> - èñêëþ÷åíèå èìåíè, èñïîëüçóåòñÿ äëÿ îòìåíû
äåéñòâèÿ äèðåêòèâû <b>$define</b>. </p>
<p><b>{$ifdef &lt;èäåíòèôèêàòîð&gt;}</b> - íà÷àëî áëîêà óñëîâíîé êîìïèëÿöèè
(ïðîâåðÿåòñÿ óñëîâèå: &quot;èäåíòèôèêàòîð îïðåäåëåí&quot;). </p>
<p><b>{$ifndef &lt;èäåíòèôèêàòîð&gt;}</b> - íà÷àëî áëîêà óñëîâíîé êîìïèëÿöèè
(ïðîâåðÿåòñÿ óñëîâèå: &quot;èäåíòèôèêàòîð íå îïðåäåëåí&quot;). </p>
<p><b>{$else}</b> - äèðåêòèâà &quot;èíà÷å&quot; â áëîêå óñëîâíîé êîìïèëÿöèè. </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 &lt;ïàðàìåòð&gt;}</b> -ãåíåðàöèÿ äîêóìåíòàöèè â XML ôîðìàòå. Ïàðàìåòðû:
<b>true</b>, <b>false</b>. </p>
<p><b>{$mainresource &lt;èìÿ ôàéëà&gt;}</b> - ïîäêëþ÷åíèå .res ôàéëà â êà÷åñòâå
íåóïðàâëÿåìîãî ðåñóðñà </p>
<p><b>{$resource &lt;èìÿ ôàéëà&gt;}</b> - ïîäêëþ÷åíèå ôàéëà â êà÷åñòâå óïðàâëÿåìîãî
ðåñóðñà </p>
<p><b>{$region &lt;èìÿ ðåãèîíà&gt;}</b> - íà÷àëî ðåãèîíà (èñïîëüçóåòñÿ â
ðåäàêòîðå â ðåæèìå ñâîðà÷èâàíèÿ êîäà</p>
<p><b>{$endregion}</b> - êîíåö ðåãèîíà</p>
<p><b>{$title &lt;îïèñàíèå&gt;}</b> - íàçâàíèå ñáîðêè êàê èíôîðìàöèîííîãî
ïðîäóêòà</p>
<p><b>{$description &lt;îïèñàíèå&gt;}</b> - êðàòêîå îïèñàíèå ñáîðêè</p>
<p><b>{$product &lt;íàçâàíèå ïðîäóêòà&gt;}</b> - èíôîðìàöèÿ î ïðîäóêòå </p>
<p><b>{$version &lt;âåðñèÿ ïðîäóêòà&gt;}</b> - âåðñèÿ ïðîäóêòà </p>
<p><b>{$company &lt;êîìïàíèÿ&gt;}</b> - êîìïàíèÿ </p>
<p><b>{$copyright &lt;êîïèðàéò&gt;}</b> - êîïèðàéò </p>
<p><b>{$trademark &lt;òîðãîâàÿ ìàðêà&gt;}</b> - òîðãîâàÿ ìàðêà </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>&nbsp; {$ifndef
DEBUG}<br>&nbsp;&nbsp;&nbsp; writeln('Èìÿ DEBUG íå îïðåäåëåíî');<br>&nbsp;
{$else} <br>&nbsp;&nbsp;&nbsp; writeln('Èìÿ DEBUG îïðåäåëåíî');<br>&nbsp;
{$endif}<br><strong>end</strong>.</code></blockquote>
</body>
</html>