条件コンパイル

しばしば、あるライブラリを作るときに、それがコンパイルされる各プラットフォームに依存する特定の API を使いたくなることがあります。また、あるフラグを ON にしたときのみ最適化が施されるようにしたい場合があるかもしれません。このような時に、条件コンパイルマクロ (または、プリプロセッサマクロ) を使うことができます。

これは、複数プラットフォームでの例です:

    #if flash8
    // haXe code specific for flash player 8
    #elseif flash
    // haXe code specific for flash platform (any version)
    #elseif js
    // haXe code specific for javascript plaform
    #elseif neko
    // haXe code specific for neko plaform
    #else
    // do something else
        #error // will display an error "Not implemented on this platform"
    #end

また、これは "mydebug" フラグがコンパイル時に指定されたときのみログを取るようにする例です。

    #if mydebug
    trace("何らかのデバッグ情報");
    #end

haXe コンパイラのコマンドラインオプションによって、自分でマクロ変数を定義することができます。

«« 省略可能な引数 | インライン化 »»

version #5569, modified 2009-03-16 11:28:52 by mandel59