Intel® Visual Fortran Composer XE

Free Intel Visual Fortran for students!

Intel Fortran is now available under a free, non-commercial license for qualified students on Linux, OS X and WIndows. See for more details.

Note: If you don't already have a supported Microsoft Visuall Studio installed, you'll need to get one first as the student license doesn't include the VS Shell-based IDE. The free Visual Studio 2013 Community Edition will do.

Оптимизировали, оптимизировали, да не выоптимизировали!

Оптимизация? Конечно, каждый сталкивался с данной задачей при разработке своих, сколь-нибудь значительных, требующих определённых вычислений, приложений. При этом способов оптимизировать код существует огромное множество, и, как следствие, различных путей сделать это в автоматическом режиме с помощью опций компилятора. Вот здесь и возникает проблема – как выбрать то, что нужно нам и не запутаться?

LNK2005 error when compiling for Debug x64 (mixed C++/Fortran)

Hi all, I'm attempting to recompile a mixed C++/Fortran project for a x64 platform / Debug configuration but keep running into a LNK2005 error. The Fortran code is compiled to a static library while the C++ code -- which calls the Fortran code -- is compiled to a dynamic library. The error occurs when I attempt to compile the C++ code:

Modules and subroutines

Hello everyone,

I am new to fortran.. I am facing difficulty in calling subroutine and module from main program. When I run the program , its gives error about line 95 d.


Please check any mistake in the following code:



  1. Module variables_m


Fortran calling C++ stdcall DLL

Why can I link my Intel Fortran  dll (sum_if.dll)  to my Fortran (sum_test)  but not my C++ one (sum_cpp.dll)?     All are accepted as STDCAL DLLs by other software e.g. Excel VBA (in the attached .zip)

Fortran Linking to sum_if  works with any of:

  1. Linker | Input |  Additional Dependecies= sum_if.lib
  2. Adding.lib to project (e.g. sum_if.lib)
  3. Project Dependencies = sum_if

But for sum_cpp the dll is not found or accepted   i.e.

sum_test.obj : error LNK2019: unresolved external symbol __imp_sum referenced in function _MAIN__

System and SystemQQ: what am I doing wrong?


I want to do something that is quite simple (I reckon).  I must go up one folder level, chdir to another folder and then delete one existing file in this latter folder.  What I'm doing is the following:

         Logical :: I

         I = SystemQQ('cd ..\Data\')
         I = SystemQQ('del CPG.dat')

However, it seems that not even the first command works, I mean, I cannot go up one level and then into the Data folder.  The command System (by the way, in what it differs from SystemQQ?) doesn't work either.  Same result if I split the first command:

Input data file with columns divided in blocks

Hello all,

I need to read a 62x14 table which is generated by an external program. However the external program splits the table in two parts, showing the first 10 columns and the remaining columns just below the first part. Is it possible to read such table in my Fortran code? What should be done?





C calling Fortran where an argument is a derived type

I have a Fortran subroutine which I want to call from C.  One of the arguments is a derived type such as:

type :: pprop
  real*8 :: x1
  real*8 :: x2
  real*8 :: x3
  real*8 :: x4
end type pprop

On the C side, what can I map this to?  Will an array work as all the components are of the same type?  Or do I have to map to a struct?

Iscriversi a Intel® Visual Fortran Composer XE