2011-11-09 4 views
3

私は前にこのような状況に遭遇したことがありません/fp:precise与えられたコンパイラオプションが指定された値VS2010に設定されていることをアサートする方法?

してコンパイルされたコードに依存して何かをやっている...しかし、与えられたコンパイラオプションが特定の方法とエラーに設定されていることをテストする方法がありますコンパイル時にVS2010でない場合は?

答えて

4

設定が何であるかをアサートするのではなく、float_control pragmaを使用して、必要な設定を使用するようにコンパイラに指示します。私は構文が次のようなものでなければならないと信じています:

#pragma float_control(push) 
#pragma float_control(precise, on) 

// your code here... 

#pragma float_control(pop) 
+0

私はドキュメントが間違っていることを発見しました。助けてくれてありがとう! – Mordachai

+1

私は、移植性のために '#ifdef _MSC_VER' /' #endif'でそれらのプリプロセッサブロックを囲むことを提案したいと思います。 –

+0

@AlexandreC。コンパイルエラーを隠すのではないでしょうか?コンパイラが他のコンパイラに不満を持ち、コーダがそのコンパイラ上で問題、解決策を見つけ出すように強制する方が良いのではないでしょうか? – Mordachai

関連する問題