Dll, производимые GCC, несовместимы с Intel Visual Fortran?

Я использовал gcc для компиляции нескольких исходных файлов fortran в *.lib и *.dll на платформе Windows, используя последнюю версию mingw. Используемый gcc - это версия 3. Результатом вывода являются arpack_win32.dll, blas_win32.dll и lapack_win32.dll.

Затем я хочу скомпилировать sssimp.f против arpack_win32.dll , blas_win32.dll и lapack_win32.dll с использованием компилятора Intel visual fortran для Windows, поскольку sssimp.f использует эти библиотеки. Но у меня сложилось впечатление (с форума поддержки Intel ), что это невозможно.

Мое впечатление верное? Или дело в том, что пока я могу создавать базовые библиотеки и библиотеки (независимо от того, в каком компиляторе и сколько ему лет), я могу использовать их как свои базовые библиотеки и библиотеки DLL, и я могу ссылаться на них из любых современных или старый, компилятор?


person Graviton    schedule 27.01.2010    source источник


Ответы (2)


g77 использует другой ABI, чем IVF, да. Так что, если у IVF нет опции совместимости с g77 / f2c, это не сработает.

Самым простым решением для вас, вероятно, является использование IVF и для компиляции библиотек.

person janneb    schedule 27.01.2010
comment
@janneb, я боюсь, что в коде arpack, написанном на f77, есть какие-то несовместимые с IVF языковые конструкции .. - person Graviton; 27.01.2010
comment
Как бы то ни было, объединение кода с несовместимыми соглашениями о вызовах просто не сработает. - person janneb; 27.01.2010

Как уже указывалось, смешивание компиляторов с разными соглашениями о вызовах, вероятно, будет очень трудным.

В этом ответе на форуме Intel была указана версия arpack, переведенная на Fortran 90 - http://people.sc.fsu.edu/~burkardt/f_src/arpack/arpack.html - вы можете это использовать? См. Также http://people.sc.fsu.edu/~burkardt/f_src/lapack/lapack.html и http://people.sc.fsu.edu/~burkardt/f_src/blas1_s/blas1_s.html

Или Intel Visual Fortran сможет скомпилировать Fortran 77, используя подходящие параметры компилятора. Какие языковые конструкции он отвергает?

person M. S. B.    schedule 27.01.2010
comment
Не уверен насчет переведенной версии f90 - автор сам пояснил, что версия fortran 90 может быть отрывочной, неполной или совершенно неправильной (people.sc.fsu.edu/~burkardt/f_src/f_src.html). Насколько я понимаю, транслируются только одна или две подпрограммы во всем пакете ARPACK. - person Graviton; 27.01.2010
comment
Я читал, что, поскольку использование - это ваша ответственность / риск - все же стоит попробовать посмотреть, работает ли он для вашего компилятора и дает ли правильные ответы для тестового примера. - person M. S. B.; 27.01.2010