When you migrate a Fortran application from UNIX to Windows, the designand capabilities of the Fortran code must be an integral part of your migrated application s design. Considerations such as performance, library interoperability, and feature set can determine the overall success of the project.
The effort required for a Fortran migration will depend largely on the answersto the following questions:
Is the code modular?
Will platform specific code need migration within Fortran?
What third-party libraries will Fortran code need?
Is GUI or graphics support required?
Do feature/function abstraction layers already exist in UNIX?
Because the features and functions needed for a Windows migration are likely to already exist on UNIX, the answers to these questions are likely to exist too. If the code is already modular with feature or function abstraction layers, the code itself will likely move across easily as a port to Win32. In this case, the bulk of your effort will be in choosing any required third-party libraries, the cross-language calling conventions, and the integrated development environment tools.
Fortran adds complexity and consequently risk to a migration because of following:
You may require a third-party Fortran compiler.
You may need call-level integration between the Fortran and C/C++ code.
You will need a cross-language build and debug strategy for Windows.
You can mitigate Fortran migration risks by:
Defining the Windows development environment, including the Fortran compiler and your integration strategy for C/C++ code and third-party libraries.
Implementing modularity of the Fortran code and putting platform-specific features into a C/C++ compatibility layer. This will enhance the ability of the code to migrate from UNIX to Windows and is essential if the application needs to target both the UNIX and Windows platforms.