2017-03-14 3 views
-1

プロジェクトの作業中に4000以上の警告がありました。 これらのうちのいくつかを削除するには、NEXTGENというコンパイラ指令が見つかりました。私はずっと私たちは、コンパイラディレクティブを使用してすべての問題を持っているかどうかを知りたい257NEXTGENコンパイラの条件付き使用は何ですか?

に警告して最小化があることを見出し、このディレクティブを使用した後に

。私のWindowsアプリケーションのこのディレクティブの欠点はありますか? 私はDelphi 10を使用しています。

on Embarcadero私は非常に少ない情報しか見つけませんでした。

誰も私に同じことを教えてもらえますか?

+0

私は** docwiki nextgen **をgoogleにタイプしました。この最初のヒットはこの条件付きで書かれています。私はあなたがこのトピックを読むことをお勧めします:http://stackoverflow.com/questions/21403628/how-can-i-search-for-delphi-documentation –

+1

yerスリーブをロールアップし、私が言うだろうこれらの警告を修正する時間。どのように正確に彼らはしかし、約に依存します。 –

+0

あなたは今、この質問への答えを持っていますか? –

答えて

3

DelphiのNEXTGEN条件付きのシンボルは、次世代のARCコンパイラを表します。 WindowsコンパイラとOSXコンパイラはNEXTGENではありません。 iOS、Android、そして今後登場するLinuxコンパイラがあります。

Windows用にコンパイルされたコードのうち、NEXTGENとマークされているコードは無視されます。例えば0ベースの文字列として 「次世代」言語機能を使用する(例えば、デルファイモバイルコンパイラとして)コンパイラに対して定義

Conditional symbols

NEXTGEN条件シンボルは、コンパイラによって定義されXE4/iOSの

+1

マイナーニット:ディレクティブは、{$ D +}や{$ WARN xxxx OFF}のようなコンパイラへのコマンドです。コンパイラで定義された条件文は、 "ディレクティブ"ではなく、条件付きディレクティブ{$ IF Defined(xxxx)}または{$ IFDEF xxxx}に使用されます(xxxxはNEXTGEN –

2

。たとえば、ARCを使用するモバイルコンパイラの場合に定義されます。従来のWindowsおよびMac OSコンパイラでは定義されていません。

コードでは定義しないでください。 NEXTGENコンパイラではなく、従来のコンパイラでコードをコンパイルしています。これらのコンパイラの警告の原因は何でも、NEXTGENを定義することは解決策ではありません。

関連する問題