int型、long型、double型の絶対値を見つけるのに "abs"関数を使ったところで約200のファイルがあります。倍精度の場合、適切な関数呼び出しはfabsでありabsではありません。 C++ 11ではdouble型のabsサポートとしても扱われていますが、現在は古いコンパイラを使用しています。func2(double X)を#defineコールする方法(double X)
C++ 11への移行は来年に予定されており、断続的に修正が必要です。
これらすべてのファイルには、最初はStdAfx.hというヘッダーがあります。だから#define abs(X)fabs(X)のようなものが欲しい。しかし問題は、これらのファイルには、absやfabが実際に宣言されているmath.hなどの他のヘッダもあり、これらのコードをコンパイルできないようにすることです。
GCCでは、absとfbsの宣言があるため、absが再宣言されています。
StdAfx.hの中でabs(double x)に "CALL"だけがfabs(double X)に変換され、その定義は翻訳されないようにしたいと思います。
私を親切に案内します。
希望することはできません。代わりにコードを書き直してください。 –
私は、これが影響を受けるビットのコードを修正するのが好ましいと思われる理由は分かりません。クイックビルドを行うことができるかもしれませんが、長期的なメンテナンスの観点からは価値がないようです。 –