私は Scala でマルチプレイヤー ゲームを作成しています。このゲームでは、すべてのコンピューターで浮動小数点計算がまったく同じ方法で行われる必要があるため、@strictfp
すべてのクラス、オブジェクト、およびトレイトに注釈を追加してみました。ただし、コードを実行しようとすると、次のようなエラーが発生しますjava.lang.ClassFormatError: Method handleKeyPress in class com/nathanstoddard/common/renderer2d/InputHandler has illegal modifiers: 0xC01
。そのクラスから注釈を削除する@strictfp
と、別のクラスの別のメソッドに対して同様のエラー メッセージが表示されます。
このエラー メッセージの意味と修正方法を教えてください。私のコードまたは Scala コンパイラーのバグですか?
小規模なアプリケーションでタグを使用してみましたが@strictfp
、これまでのところ、大規模なプロジェクト以外ではこのクラッシュを再現できませんでした。
また、strictfp をグローバルに有効にする方法があるので、すべてのクラスに追加する必要はありませんか?
私は Windows 7 で Scala 2.10.3 と Java 1.7.0_10 (64 ビット) を使用しており、sbt 0.12.2 でプログラムを実行しています。