Hvordan få tilgang en C Struktur fra Fortran

Hvordan få tilgang en C Struktur fra Fortran


C er en av de mest brukte programmeringsspråk i verden, som i august 2011. Selv om det er designet for å skape systemprogramvaren sin allsidighet har gjort det et godt valg for bærbare applikasjoner. Faktisk er det svært få plattformer som ikke har en C-kompilator skrevet for dem. Fortran, i motsetning til C, er rettet mot numerisk beregning og vitenskapelig databehandling og er mye brukt i høy ytelse programmering. På grunn av noen store forskjeller mellom de to språkene, tilgang til en C-strukturen i Fortran er ikke så lett som det høres ut.

Bruksanvisning

1 Opprett en navngitt felles blokk. Dette er den eneste måten å få tilgang til en C-struktur fra Fortran fordi det tilveiebringer et en-til-en kartlegging av strukturmedlemmer. Hvis C struktur bruker en ikke navngitt felles blokk, må du endre den til en navngitt en.

2 Bruk navnet på C struktur for å gi navn til felles blokk. Her er hva en C struktur ser slik ut:

struct mystuff {

doble x;

int y, z;

double t;

};

main () {

}

Her er det tilstrekkelig Fortran kode som inneholder den navngitte felles blokk:

programmet cstruct

real (8) x, t

heltall y, z

common / mystruct / x, y, z, t

slutt

3 Erklærer din C struktur som en global variabel. For å gjøre dette, kan du enten plassere sin erklæring utenfor enhver funksjon eller plassere den i en funksjon som har "extern" kvalifiseringskamp.

4 Kompilere C kildefilen og bruke "-qalign = pakket" kompilering type i XL Fortran kompilator. "Qalign" forteller kompilatoren hva justeringen regler det må bruke for filsamling og unngår ytelse problemer med feiljustert data. "Pakket" betyr objekter av en avledet type vil bli lagret uten polstring mellom komponentene.

Hint

  • Du kan sette inn "#pragma justere" parametere inn i C struktur for å unngå å bruke "-qalign = pakket" kompilering type.