Standardized mixed language programming for Fortran and C

  • Authors:
  • Bo Einarsson;Richard J. Hanson;Tim Hopkins

  • Affiliations:
  • University of Linköping, Linköping, Sweden;Visual Numerics Inc., Albuquerque, NM;University of Kent, Canterbury, England

  • Venue:
  • ACM SIGPLAN Fortran Forum
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Programmers have long practiced the matter of mixed language procedure calls. This is particularly true for the programming languages C and Fortran. The use of the alternate language often results in efficient running time or the effective use of human or other resources. Prior to the Fortran 2003 standard there was silence about how the two languages interoperated. Before this release there existed a set of differing ad hoc methods for making the inter-language calls. These typically depended on the Fortran and C compilers. The newer Fortran standard provides an intrinsic module, iso_c_binding, that permits the languages to interoperate. There remain restrictions regarding interoperable data types. This paper illustrates several programs that contain core exercises likely to be encountered by programmers. The source code is available from the first author's web site. Included is an illustration of a "trap" based on use of the ad hoc methods: A call from a C to a Fortran 2003 routine that passes a character in C to a character variable in Fortran results in a run-time error.