ВУЗ:
Рубрика:
26
торам Absoft, NAG и Lahey. Эти тесты были проведены на компью-
тере с процессором Pentium 4/1.8 ГГц и ОС Mandrake Linux 8.1.
Компиляторы Intel версии 9.1 также обгоняют по производи-
тельности компиляторы gcc и показывают производительность,
сравнимую с Absoft, PathScale и PGI.
2.2 Совместное использование модулей на Фортране и Си
Чтобы совместно использовать модули, написанные на языках
Фортран и Си, нужно согласовать наименование процедур в объект-
ных модулях, передачу параметров, а также доступ к глобальным
переменным, если такие есть.
По умолчанию компилятор Intel Fortran переводит имена про-
цедур в нижний регистр и добавляет в конец имени процедуры знак
подчеркивания. Компилятор Си никогда не изменяет имена функ-
ций. Таким образом, если мы хотим из модуля на Фортране вызвать
функцию или процедуру FNNAME, реализованную на Си, то в мо-
дуле на Си она должна именоваться fnname_.
Компилятор Фортрана поддерживает опцию -nus [имя файла],
которая позволяет отключать добавление знаков подчеркивания к
внутренним именам процедур. Если задано имя файла, то это произ-
водится только для имен процедур, перечисленных в заданном фай-
ле.
По умолчанию на Фортране параметры передаются по ссылке, а
на Си – всегда по значению. Таким образом, при вызове Фортран-
процедуры из модуля на Си необходимо в качестве параметров пе-
редавать указатели на соответствующие переменные, содержащие
значения фактических параметров. При написании на Си функции,
которую надо будет вызывать из модуля на Фортране, требуется
описывать формальные параметры как указатели соответствующих
типов.
В модулях на Си возможно использование COMMON-блоков,
определенных внутри модулей на Фортране (подробнее об этом см.
Intel Fortran Compiler User's Guide, глава Mixing C and Fortran).
2.3 Основные опции компиляторов
Наиболее интересными, конечно же, являются опции оптимиза-
ции кода. Большинство опций совпадают для Intel компиляторов
С++ и Fortran.
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »
