Tecnología

Inicio

Cómo acceder a una estructura C de Fortran

Cómo acceder a una estructura C de Fortran


C es uno de los lenguajes de programación más utilizados en el mundo, a partir de agosto de 2011. A pesar de que fue diseñado para crear el software del sistema, su versatilidad hace que sea una buena elección para aplicaciones portátiles. De hecho, hay muy pocas plataformas que no tienen un compilador de C escrito para ellos. Fortran, a diferencia de C, está dirigido a cálculo numérico y la informática científica y es ampliamente utilizado en la programación de alto rendimiento. Debido a algunas diferencias importantes entre los dos idiomas, el acceso a una estructura de C en Fortran no es tan fácil como parece.

Instrucciones

1 Crear un bloque común llamado. Esta es la única manera de acceder a una estructura C de Fortran, ya que proporciona un mapeo uno a uno de los miembros de la estructura. Si la estructura de C utiliza un bloque común no identificado, debe cambiar a una llamada.

2 Utilice el nombre de la estructura C para nombrar el bloque común. Esto es lo que una estructura se parece a C:

mystuff struct {

doble X;

int y, z;

doble T;

};

principal() {

}

Aquí está el código Fortran adecuada que contiene el bloque común que se llama:

cstruct programa

real (8) x, t

número entero y, z

común / MyStruct / x, y, z, t

fin

3 Declarar su estructura C como una variable global. Para ello, puede colocar su declaración fuera de cualquier función o colocarlo dentro de una función que tiene el calificativo "extern".

4 Compilar el archivo fuente de C y utilizar el "= embalado -qalign" tipo de compilación en el compilador XL Fortran. "Qalign" le dice al compilador lo que gobierna la alineación se debe utilizar para la compilación de archivos y evita problemas de rendimiento con los datos desalineados. "Envasado" se refiere a los objetos de un tipo derivado se almacenarán sin ningún relleno entre componentes.

Consejos y advertencias

  • Usted puede insertar "#Pragma alinear" parámetros en la estructura C para evitar el uso de la "= embalado -qalign" tipo de compilación.