\documentclass[a4paper,12pt]{article}

\usepackage[latin2]{inputenc}

\title{Vaje 9}
\author{Mastnak Matjaž}
\date{1.12.1997}

\begin{document}
\maketitle

Na področju
%
\begin{center}
  \texttt{z:$\backslash$PREDAVANJA$\backslash$POLDE}
\end{center}
%
smo naredili poddirektorije:
%
\begin{enumerate}
\item \texttt{Code}:    v katerem bodo izvedbeni moduli
\item \texttt{Test}:    v katerem bodo testni moduli
\item \texttt{Include}: v katerem bodo definicijski moduli
\item \texttt{Lib}:     v katerem bodo knjižnice
\item \texttt{Doc}:     v katerem bo dokumentacija
\end{enumerate}
%
Na prejšnih   vajah  smo  dobili  nalogo  sestaviti  funkcijo,   ki bo
izračunala približek 2Pi. Najprej  smo napisali pogodbo, v  kateri smo
navedli:
%
\begin{itemize}
\item DESC: opis programa
\item PARMS: parametre, ki jih bo funkcija uporabljala
\item RESULT: rezultat, ki ga mora funkcija izračunati
\item PRE: pogoji, ki se jih mora držati naročnik funkcije
\item POST: pogoji, ki se jih mora držati programer
\end{itemize}
%
Za realizacijo funkcije rabimo tri osebe:
%
\begin{itemize}
\item prva oseba bo naredila \emph{definicijski modul} -- datoteka
  $<$ime$>$.h
\item druga oseba bo s pomočjo definicijskega modula naredila
  \emph{izvedbeni modul} -- datoteka $<$ime$>$.c, ki jo bo prevedla
  (\textit{compile}) kot knjižnico (\textit{library}) v datoteko
  $<$ime$>$.obj
\item tretja oseba pa bo s pomočjo izvedbenega in definicijskega
  modula naredila \emph{testni modul} -- datoteka $<$ime$>$.c. S
  pomočjo opcije projekt (\textit{project}), v katero vključi testni
  modul, prevedeni izvedbeni modul in definicijski modul, in funkcije
  \textit{link} prevede zgoraj navedene datoteke v datoteko
  $<$ime$>$.exe.
\end{itemize}

Najprej na področju \texttt{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 \texttt{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 \texttt{typedef}, ki ga lahko
uporabljamo za definicijo novih tipov spremenljivk.

Sintaksa:
%
\begin{center}
  typedef $<$definicija tipa$>$ $<$identifikator$>$
\end{center}

Primer:
%
\begin{itemize}
\item \texttt{byte}:
%
{\tt
\begin{verbatim}
typedef unsigned char byte;
\end{verbatim}
}
%
\texttt{byte} je sedaj ime novega tipa spre\-me\-nljivke. Če bomo v
programu definirali spremenljivko tipa byte, bo ta prav\-za\-prav tipa
\texttt{unsigned char}.
\item \texttt{complex}:
%
{\tt
\begin{verbatim}
typedef struct {
  double re, im;
} complex;
\end{verbatim}
}
%
\texttt{complex} je sedaj ime novega tipa spremenljivke.
\end{itemize}

\end{document}
