Есть ли (Linux) g ++, эквивалентный / fp: точные и / fp: fast флаги, используемые в Visual Studio?

Фон:

Много лет назад я унаследовал кодовую базу, которая использовала флаг Visual Studio (VC ++) '/ fp: fast' для создания более быстрого кода в конкретной библиотеке с большими объемами вычислений. К сожалению, «/ fp: fast» дал результаты, которые немного отличались от той же библиотеки в другом компиляторе (Borland C ++). Поскольку нам нужно было получать точно такие же результаты, я переключился на «/ fp: точный», который работал нормально, и с тех пор все стало превосходно. Тем не менее, сейчас я собираю ту же библиотеку с g ++ для uBuntu Linux 10.04, и я вижу похожее поведение, и мне интересно, может ли она иметь аналогичную основную причину. Численные результаты моей сборки g ++ немного отличаются от численных результатов моей сборки VC ++. Это подводит меня к моему вопросу:

Вопрос:

Имеет ли g ++ параметры, эквивалентные или сходные с параметрами fp: fast и fp: точные в VC ++? (и что это? Я хочу активировать эквивалент «fp: точный».)

Более подробная информация:

Я компилирую, используя 'make', которая вызывает g ++. Насколько я могу судить (файлы make немного загадочны и не были написаны мной), единственные параметры, добавленные к вызову g ++, - это «нормальные» параметры (включая папки и файлы для компиляции) и -fPIC ( Я не уверен, что делает этот переключатель, я не вижу его на странице man).

Похоже, что единственные релевантные параметры в man g ++ включают включение параметров оптимизации. (например, -funsafe-math-optimizations). Однако я не думаю, что я что-то включаю, я просто хочу отключить соответствующую оптимизацию.

Я пробовал сборки выпуска и отладки, VC ++ дает те же результаты для выпуска и отладки, а g ++ дает те же результаты для выпуска и отладки, но я не могу получить версию g ++, которая дает те же результаты, что и версия VC ++.

Ответы на вопрос(5)

Ваш ответ на вопрос