コンパイルオプションの{$IF DEFINED(CLR)}の意味は?

解決


takana  2023-03-04 08:47:27  No: 150856

delphi 10.4を使用していて
ソースの中に出てくる
{$IF DEFINED(CLR)}
{$IFDEF CLR}
の意味は何でしょうか?


Mr.XRAY  2023-03-05 21:02:06  No: 150861

Delphi では, { } で括った中野テキストはコメントになりますが,
{$ } はコンパイル指令,あるいはコンパイラ指令と言って,コンパイル時の条件判定に使用します.

{$IF DEFINED(CLR)} は,CLR ( Common Language Runtime ) を使用するのてであれば,
{$IFDEF CLR} までの間のコードをコンパイルして実行せよ.と言う指令です.

条件付きコンパイル(Delphi)
https://docwiki.embarcadero.com/RADStudio/Sydney/ja/%E6%9D%A1%E4%BB%B6%E4%BB%98%E3%81%8D%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%EF%BC%88Delphi%EF%BC%89

IF 指令(Delphi)
https://docwiki.embarcadero.com/RADStudio/Alexandria/ja/IF_%E6%8C%87%E4%BB%A4%EF%BC%88Delphi%EF%BC%89

共通言語ランタイム (CLR) の概要
https://learn.microsoft.com/ja-jp/dotnet/standard/clr


Mr.XRAY  2023-03-05 21:03:29  No: 150862

> を使用するのてであれば

を使用しているアプリならば・・・, かな ?


Mr.XRAY  2023-03-05 21:11:54  No: 150863

いや,Delphi 8 か Delphi Prism だったら,かも知れません.

ゴメン.他の方のレスを期待してください.


HFUKUSHI  2023-03-06 15:26:36  No: 150868

CLRは.NET版のDelphi用の定義ですね。現行のバージョンではCLRは常に未定義なので、{$IF DEFINED(CLR)}から{$IFEND}の間、{$IFDEF CLR}から{$ENDIF}の間は無視してOKです。


takana  2023-03-06 21:12:06  No: 150873

回答ありがとうございました。
良くわかりました。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加