1

Java プリプロセッサを使用して、コンパイルしている OS を判別するにはどうすればよいですか?

4

2 に答える 2

1

これを試して:

System.getProperty("os.name")

からJavaでオペレーティングシステムをプログラムで判別するにはどうすればよいですか?

ところで、Java にはプリプロセッサがありません...私が発見した厄介なことの 1 つです。

于 2011-01-07T02:31:25.190 に答える
1

Java プリプロセッサはなく、条件付きでコンパイルする機能もありません。

非常に原始的なデバッグ機能が組み込まれているため、デバッグ コードの削除を容易にするために false である定数条件で条件付きブロックを削除することがコンパイルで許可されますが、仕様でコードを削除する必要あるかどうかは覚えていませんコンパイルされたクラス。

static final boolean DEBUG=false;


...


if(Debugging.DEBUG) {
    // some code which the compile may (or must?) eliminate
    }

実行時に O/S を検出し、さまざまなプラットフォームでさまざまなことを行いたい場合は、すべての JVM に必要なシステム プロパティがいくつかあります。これらについては、 に記載されていSystem.getProperties()ます。インストールされている場所またはネットワークの場所に関連する JavaDoc を参照してください。

api/java/lang/System.html#getProperties()
于 2011-01-07T02:46:52.177 に答える