Systemnahe Programmierung in Chome Systemnahe Programmierung in C: Modularisierung Prof. Dr. Uwe Schmidt FH Wedel

Modularisierung

weiter

weiter

Ein Implementierungsteil für ein Modul
summe.c

   1#include "summe.h"
   2
   3int
   4sum1 (int n)
   5{
   6  if (n <= 0)
   7    return 0;
   8  else
   9    return n + sum1 (n - 1);
  10}
  11
  12int
  13sum2 (int n)
  14{
  15  return n <= 0 ? 0 : n + sum2 (n - 1);
  16}
  17
  18int
  19sum3 (int n)
  20{
  21  return n * (n + 1) / 2;
  22}
weiter

weiter

Eine header-Datei für ein Modul
summe.h

   1extern int sum1 (int n);
   2extern int sum2 (int n);
   3extern int sum3 (int n);
weiter

weiter

Eine Verwendung eines Moduls
main.c

   1#include <stdio.h>
   2
   3#include "summe.h"
   4
   5int
   6main (void)
   7{
   8  int i = 25;
   9
  10  printf ("Die Summe der ersten %d %s %d oder %d oder %d\n",
  11          i,
  12          "Zahlen ist",
  13          sum1 (i),
  14          sum2 (i),
  15          sum3 (i));
  16
  17  return 0;
  18}
weiter

weiter

Übersetzen des Moduls summe.c

cc -c -Wall summe.c

weiter

weiter

Übersetzen des Hauptprogramms main.c

cc -c -Wall main.c

weiter

weiter

Binden des ausführbaren Programms main

cc -o mainTest main.o summe.o

weiter

weiter

Ein Testlauf

mainTest

weiter

weiter

Eine einfacher
Makefile

# ein einfacher Makefile fuer das Erzeugen des ausfuehrbaren Programms
all : mainTest
mainTest : main.o summe.o
cc -o mainTest main.o summe.o
main.o : main.c summe.h
cc -Wall -c main.c
summe.o : summe.c summe.h
cc -Wall -c summe.c
# aufraeumen
clean :
rm -f *.o
weiter

weiter

Erzeugen des Programms

make mainTest

weiter

weiter

Aufräumen

make clean

weiter

Letzte Änderung: 11.01.2007
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel