M
magjo
Grünschnabel
Hi
Problem:
Ich muss ein 2 Dimensionales Feld a[j] je nach Eingabeparameter im laufenden Programm erstellen und anschließend an ein Fortranunterprogramm (pgplot) weitergeben.
eigentlich ganz einfach dachte ich:
Compiliere ich das Programm mit gcc unter FreeBSD liefert es das korrekte Erbebnis:
mache ich das gleiche mit Suse 10.0 bekomme ich das Ergebnis
wenn ich dieses Feld an die Fortranroutine (pgplot) weitergebe verschiebt sich alles.
ich hab es bei Suse schon mit gcc-3.3.5 versucht gleiches Ergebnis. Ich hab in diesem Fall leider die Vorgabe, dass das Programm unter Suse erstellt werden soll.
Danke
Joachim
Problem:
Ich muss ein 2 Dimensionales Feld a[j] je nach Eingabeparameter im laufenden Programm erstellen und anschließend an ein Fortranunterprogramm (pgplot) weitergeben.
eigentlich ganz einfach dachte ich:
Code:
#include <stdio.h>
#include <stdlib.h>
main()
{
int x=512, y=512,i;
float **data;
data = (float**)calloc(x,sizeof(float*));
for(i=0;i<x;i++)
data[i] = (float*)calloc(y,sizeof(float));
printf("\n%lu %lu \n\n",(long)&(data[1][0])-(long)&(data[0][0]),(long)&(data[0][1])-(long)&(data[0][0]));
}
Compiliere ich das Programm mit gcc unter FreeBSD liefert es das korrekte Erbebnis:
Code:
joachim@pythagoras:~/MFM> ./feld
2048 4
mache ich das gleiche mit Suse 10.0 bekomme ich das Ergebnis
Code:
joachim@pythagoras:~/MFM> ./feld
2056 4
wenn ich dieses Feld an die Fortranroutine (pgplot) weitergebe verschiebt sich alles.
ich hab es bei Suse schon mit gcc-3.3.5 versucht gleiches Ergebnis. Ich hab in diesem Fall leider die Vorgabe, dass das Programm unter Suse erstellt werden soll.
Danke
Joachim