Справочная информация:
Много лет назад я унаследовал кодовую базу, которая использовала флаг Visual Studio (VC ++) '/ fp: fast' для создания более быстрого кода в конкретном вычислении.тяжелая библиотека.К сожалению, «/ fp: fast» дал результаты, которые немного отличались от той же библиотеки в другом компиляторе (Borland C ++).Поскольку нам нужно было получать точно такие же результаты, я переключился на «/ fp: точный», который работал нормально, и с тех пор все стало превосходно.Тем не менее, сейчас я собираю ту же библиотеку с g ++ для uBuntu Linux 10.04, и я вижу похожее поведение, и мне интересно, может ли она иметь аналогичную основную причину.Численные результаты моей сборки g ++ немного отличаются от численных результатов моей сборки VC ++.Это подводит меня к моему вопросу:
Вопрос:
Имеет ли g ++ параметры, эквивалентные или сходные с параметрами fp: fast и fp: точные в VC ++??(и что это? Я хочу активировать эквивалент 'fp: точный'.)
Более подробная информация:
Я компилирую, используя 'make', которая вызываетг ++.Насколько я могу судить (файлы make немного загадочны и не были написаны мной), единственные параметры, добавленные к вызову g ++, - это «нормальные» параметры (включая папки и файлы для компиляции) и -fPIC (Я не уверен, что делает этот переключатель, я не вижу его на странице man).
Единственные релевантные параметры в man g ++, по-видимому, относятся к включению параметров оптимизации.(например, -funsafe-math-optimizations).Однако я не думаю, что что-то включаю, я просто хочу отключить соответствующую оптимизацию.
Я пробовал сборки Release и Debug, VC ++ дает те же результаты для выпуска и отладки, иg ++ дает те же результаты для выпуска и отладки, но я не могу получить версию g ++, которая дает те же результаты, что и версия VC ++.