GCC Prodotto Dll Non è Compatibile con i processori Intel Visual Fortran?
-
23-09-2019 - |
Domanda
Ho usato gcc per compilare un paio di fortran file di origine in *.lib
e *.dll
su piattaforma Windows, utilizzando la versione più recente di mingw .Il gcc utilizzato è la versione 3.Il risultato dell'output è arpack_win32.dll
, blas_win32.dll
e lapack_win32.dll
.
Quindi, vorrei compilare sssimp.f contro il arpack_win32.dll
, blas_win32.dll
e lapack_win32.dll
utilizzando Intel visual fortran compiler per Windows, perché sssimp.f
utilizza tali dll.Ma ho avuto l'impressione ( da Intel forum di supporto che questo è non possibile.
È una mia impressione corretta?O è che finchè sono in grado di produrre sottostante libs e dll ( non importa in quale compilatore e quanto è vecchio), posso usarli come la mia base libs e dll, e sono in grado di collegare da qualsiasi, moderna o antica, compilatore?
Soluzione
g77 utilizza un diverso ABI di fecondazione in vitro, sì.Quindi, a meno che la FIV ha qualche g77/f2c opzione di compatibilità non è andare a lavorare.
La soluzione più semplice per voi è probabilmente quello di utilizzare la fecondazione in vitro per compilare le librerie di troppo.
Altri suggerimenti
Come già sottolineato, la miscelazione compilatori con diverse convenzioni di chiamata è probabile che sia molto difficile.
La risposta di Intel Forum ha evidenziato una versione di arpack tradotto in Fortran 90 -- http://people.sc.fsu.edu/~burkardt/f_src/arpack/arpack.html - si può usare quella?Vedi anche http://people.sc.fsu.edu/~burkardt/f_src/lapack/lapack.html e http://people.sc.fsu.edu/~burkardt/f_src/blas1_s/blas1_s.html
O Intel Visual Fortran dovrebbe essere in grado di compilare in Fortran 77, utilizzando adeguate opzioni del compilatore.Cosa costrutti del linguaggio è il rifiuto?