Vaje 9

Mastnak Matjaž 1.12.1997

Na področju

                   z:\PREDAVANJA\POLDE

smo naredili poddirektorije:

1. Code: v katerem bodo izvedbeni moduli

2. Test: v katerem bodo testni moduli

3. Include: v katerem bodo definicijski moduli

4. Lib: v katerem bodo knjižnice

5. Doc: v katerem bo dokumentacija Na prejšnih vajah smo dobili nalogo sestaviti funkcijo, ki bo izračunala približek 2Pi. Najprej smo napisali pogodbo, v kateri smo navedli:

• DESC: opis programa

• PARMS: parametre, ki jih bo funkcija uporabljala

• RESULT: rezultat, ki ga mora funkcija izračunati

• PRE: pogoji, ki se jih mora držati naročnik funkcije

• POST: pogoji, ki se jih mora držati programer Za realizacijo funkcije rabimo tri osebe:

• prva oseba bo naredila definicijski modul – datoteka <ime>.h

• druga oseba bo s pomočjo definicijskega modula naredila izvedbeni modul – datoteka <ime>.c, ki jo bo prevedla (compile) kot knjižnico (library) v datoteko <ime>.obj • tretja oseba pa bo s pomočjo izvedbenega in definicijskega modula

naredila testni modul – datoteka <ime>.c. S pomočjo opcije projekt (project), v katero vključi testni modul, prevedeni izvedbeni modul in definicijski modul, in funkcije link prevede zgoraj navedene datoteke v datoteko <ime>.exe.

Najprej na področju Code prva oseba naredi nek poddirektorij v katerega bo shranila definicijski modul. V ta poddirektorij bo tudi druga oseba shranila izvedbeni modul in datoteko <ime>.obj, ki jo bo dobila, ko bo izvedbeni modul prevedla kot knjižnico. Tretja oseba pa bo na področju Test naredila nek poddirektorij in tja shranila testni modul in ime projekta <ime>.prj, ki ga dobi s povezovanjem zgoraj navedenih datotek. Rezultat povezovanja je datoteka <ime>.exe, ki mora biti shranjena na istem poddirektoriju, kot testni modul.

Na koncu smo definirali še simbol typedef, ki ga lahko uporabljamo za definicijo novih tipov spremenljivk.

Sintaksa:

typedef <definicija tipa> <identifikator>

Primer:

• byte:
typedef unsigned char byte;

byte je sedaj ime novega tipa spremenljivke. Če bomo v programu definirali spremenljivko tipa byte, bo ta pravzaprav tipa unsigned

char.
• complex:
typedef struct {
  double re, im;
} complex;

complex je sedaj ime novega tipa spremenljivke.