2013年9月11日水曜日

IFNDEF DELPHI は使わない

Delphi 互換のコードを書く場合に、{$IFNDEF DELPHI} は使わないほうが良いらしい。

やってたし・・・。

また、Lazarus, FPC でコンパイルする場合、指示しなくとも FPC が DEFINE される。

という事なので、{$IFDEF FPC} と {$IFNDEF FPC} ならば使っても問題無さそうです。

気が付いてよかった・・・。


情報元: http://wiki.freepascal.org/Code_Conversion_Guide#Compiler_Issues

によると

{$MODE Delphi} によって Delphi モード にした場合に、DELPHI が DEFINE されてしまう。

なので IFNDEF Delphi が FPC 上であってもコンパイルされなくなってしまう。

また、Delphi 互換のコードを書く場合、{$MODE} は Delphi によってエラーとされてしまうので

{$IFDEF FPC}
  {$MODE Delphi}
{$ENDIF}

のように書くといいそう。

そのうち Delphi でもコンパイルしてみようとは思っていたけど、Delphi の環境無いからテストできぬ。

0 件のコメント:

コメントを投稿