Skip to main content
SHARE
Publication

Automated Fortran–C++ Bindings for Large-Scale Scientific Applications

by Seth R Johnson, Andrey V Prokopenko, Katherine J Evans
Publication Type
Journal
Journal Name
Computing in Science & Engineering
Publication Date
Page Numbers
84 to 94
Volume
22
Issue
5

Although many active scientific codes use modern Fortran, most contemporary scientific software libraries are implemented in C and C++. Providing their numerical, algorithmic, or data management features to Fortran codes requires writing and maintaining substantial amounts of glue code. This paper introduces a tool that automatically generates native Fortran 2003 interfaces to C and C++ libraries. The tool supports C++ features that have no direct Fortran analog, such as templated functions and exceptions. A set of simple examples demonstrates the utility and scope of the tool, and timing measurements with a mock numerical library illustrate the minimal performance impact of the generated wrapper code.