On Mon, Aug 28, 2000 at 06:44:10PM +0200, Torsten Lange wrote:
Hallo, ich wollte mal ausprobieren, wie man in C ein einfaches Programm modularisiert.
also, aus dem funktionierendem Programmcode ################################################# #include <stdio.h> /*Prototyp fuer Funktion calc*/ float calc(float *ix, float *yp, char *op);
int main(void) { ... }
float calc(float *ix, float *yp, char *op) { ... return(gibt); } #################################################
mache ich 2 Module und eine header-datei file1.c ################################################# #include <stdio.h> #include "calc.h" /*Einfügen der header-datai calc.h*/
int main(void) { ... } #################################################
file2.c ################################################# #include <stdio.h>
#include "calc.h" ist zwar nicht zwingend notwendig, hilft aber, Diskrepanzen zwischen Prototype und Definition zu entdecken.
float calc(float *ix, float *yp, char *op) { ... return(gibt); } #################################################
calc.h ################################################# float calc(float *ix, float *yp, char *op); #################################################
Die Compilierung habe ich versucht mit: cc -I /home/.../header/ file1.c file2.c -o programm
cc file1.c file2.c -o program Das -I ist nicht notwendig, da Du das Include in ".." eingeschlossen hast, das sucht im aktuellen Verzeichniss.
Der Compiler muckt auch nicht bei seiner Arbeit. Trotzdem klappt die Parameteruebergabe nicht mehr. Ist da ein offensichtlicher Fehler?
Wie -- hast Du es etwas genauer? Was klappt bei der Uebergabe nicht? (Mal abgesehen davon, dass ich fuer die Floats vielleicht keine Pointer uebergeben wuerde, sondern die Zahlen selbst.
Heiko