Standardized mixed language programming for Fortran and C

Einarsson, Bo and Hanson, Richard J. and Hopkins, Tim (2009) Standardized mixed language programming for Fortran and C. SIGPLAN Fortran Forum, 28 (3). pp. 182-196. ISSN 1061-7264. (The full text of this publication is not available from this repository)

The full text of this publication is not available from this repository. (Contact us about this Publication)
Official URL
http://www.cs.kent.ac.uk/pubs/2009/2985

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, isocbinding, 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.

Item Type: Article
Uncontrolled keywords: determinacy analysis, Craig interpolants
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Science Technology and Medical Studies > School of Computing > Computational Intelligence Group
Depositing User: Tim Hopkins
Date Deposited: 21 Sep 2012 09:49
Last Modified: 21 Sep 2012 09:49
Resource URI: http://kar.kent.ac.uk/id/eprint/30570 (The current URI for this page, for reference purposes)
  • Depositors only (login required):