KillerPinockel
Lieutenant
- Registriert
- Jan. 2009
- Beiträge
- 632
Hallo,
ich habe nur eine kurze Frage, wie ich ein Array weiterverarbeiten kann.
Hintergrund:
Ich habe ein Programm geschrieben, was aus 5 Funktionen besteht. Jede Funktion hat eine eine seperate *.c und *.c Datei. Also bspw. fkt1.c und fkt1.h.
Es ist alles korrekt eingebunden und der Code funktioniert auch soweit.
Nun wollte ich eine Änderung einbauen, da ich in fkt 1-3 jeweils Dateien lese und dann wieder schreibe. Also Ablauf:
FKT1
- Datei lesen
- berechnen
- in Datei schreiben
FKT2
- Datei lesen
- berechnen
- in Datei schreiben
FKT3
- Datei lesen
- berechnen
- in Datei schreiben
FKT4
-Datei FKT1 öffnen / lesen
-Datei FKT2 öffnen / lesen
-Datei FKT3 öffnen / lesen
-berechnen
-Ergebnis in neue Datei schreiben
Ihr seht eine Menge i/o Operationen. Nun wollte ich das gern etwas ein kürzen und in FKT 1-3 jeweils ein Array erstellen, dort die Ergebnisse reinschreiben und zurück an die main geben. Dann FKT4 die 3 Arrays übergeben und dort berechnen lassen und einmal schreiben. Somit müsste ich nur 3 Datei lesen und 1 schreiben, was etwas schneller sein sollte, als mein alter Code.
Leider erschließt mir sich die Übergabe nicht so 100%. Ich habe es so versucht
Habt ihr ne Idee? Danke schon mal!
ich habe nur eine kurze Frage, wie ich ein Array weiterverarbeiten kann.
Hintergrund:
Ich habe ein Programm geschrieben, was aus 5 Funktionen besteht. Jede Funktion hat eine eine seperate *.c und *.c Datei. Also bspw. fkt1.c und fkt1.h.
Es ist alles korrekt eingebunden und der Code funktioniert auch soweit.
Nun wollte ich eine Änderung einbauen, da ich in fkt 1-3 jeweils Dateien lese und dann wieder schreibe. Also Ablauf:
FKT1
- Datei lesen
- berechnen
- in Datei schreiben
FKT2
- Datei lesen
- berechnen
- in Datei schreiben
FKT3
- Datei lesen
- berechnen
- in Datei schreiben
FKT4
-Datei FKT1 öffnen / lesen
-Datei FKT2 öffnen / lesen
-Datei FKT3 öffnen / lesen
-berechnen
-Ergebnis in neue Datei schreiben
Ihr seht eine Menge i/o Operationen. Nun wollte ich das gern etwas ein kürzen und in FKT 1-3 jeweils ein Array erstellen, dort die Ergebnisse reinschreiben und zurück an die main geben. Dann FKT4 die 3 Arrays übergeben und dort berechnen lassen und einmal schreiben. Somit müsste ich nur 3 Datei lesen und 1 schreiben, was etwas schneller sein sollte, als mein alter Code.
Leider erschließt mir sich die Übergabe nicht so 100%. Ich habe es so versucht
Code:
int main()
{
unsigned short *data;
data = (unsigned short*) calloc(9 * 48, sizeof(unsigned short));
data = new_data();
}
Code:
unsigned short new_data()
{
unsigned short *data;
data = (unsigned short*) calloc(9 * 96, sizeof(unsigned short));
...
return data;
}
Habt ihr ne Idee? Danke schon mal!