• Keine Ergebnisse gefunden

Übung Nr. 1:

N/A
N/A
Protected

Academic year: 2022

Aktie "Übung Nr. 1:"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Systemprogrammierung Übung Nr. 1

Prof. Dr.-Ing. A. Christidis S. 1 / 1

Übung Nr. 1:

Erstellen Sie ein kurzes, plattform-unabhängiges C-Programm („Konsolen- anwendung“), das sich in die Reihe ggf. bereits gestarteter Kopien einordnet, sich nach 20 sec aus dieser Reihe abmeldet und sich nach weiteren 20 sec selbsttätig beendet. (Nachbau von Memo.exe)

 Hinweise zum Umgang mit VC++ finden Sie auf derselben Homepage.

 Benutzen Sie bitte bei der Programmierung ausschließlich Anweisungen aus dem Sprachumfang von C!

 Zur Simulation des gemeinsamen Speicherbereichs können Sie eine formatierte Datei verwenden. Sie können sich dabei am Programmbeispiel für die Zeitmessung bei R/W-Operationen orientieren. (MemoTest.exe)

 Bauen Sie bitte Ihr Programm so aus, daß es die benötigte Datei im aktuellen Verzeichnis einrichtet, erst wenn es die erwartete Verzeichnisstruktur (../dat/) nicht vorfindet. (Damit wird es in jedem Ordner mit Schreiberlaubnis ausführbar.) Für Hedonist/inn/en (d.h. freiwillig): wahlweise vorzeitige Ausführung des jeweiligen Schrittes durch <CR> und Beendigung durch <ESC> über die Funktion _kbhit().

/* MemoTest.c (gekuerzt) */

#include <conio.h>

#include <stdio.h>

#include <time.h>

#define WDHLG 10000

int main(void)

{ int j1=0, j2=WDHLG;

FILE *memo;

clock_t tj1, tj2;

printf ("Aris Christidis:\n\r");

printf ("Formatierte Datei (fscanf/fprintf):\n\r");

_getch(); tj1 = clock();

if ((memo=fopen("../dat/Memo.txt","r+"))==NULL &&

(memo=fopen("../dat/Memo.txt","w+"))==NULL) return(-1);

for (j1=0; j1<WDHLG; j1++)

{ fprintf(memo,"%10d", j1); fflush(memo); rewind(memo);

fscanf(memo,"%10d", &j2); rewind(memo);

}

tj2 = clock(); fclose (memo);

printf ("Zeit fuer %d RW-Operationen: %.2lf msec\n\n\r",\

j1, (double)(tj2-tj1)*1000/CLOCKS_PER_SEC);

/*...*/ _getch(); return(0);

}

Referenzen

ÄHNLICHE DOKUMENTE

Nachdem sie eine Rassel und ein Schellenband selbst hergestellt haben, musizieren die Schüler gemeinsam.. Let`s

Im folgenden wird nun untersucht, ob es optimale gemischte Strategien gibt, wie diese gegebenenfalls berechnet werden k¨onnen und ob m¨oglicherweise einer der beiden Spieler

Während in main() das behandelte Objekt mit seinen Daten verfügbar (weil es dort als Variable definiert) war, soll nun printCGF() die Daten eines Objektes ausgeben, das

In gLevel() kann allerdings die Entwicklungsarbeit zur Bresenham- gestützten Interpolation nicht unmittelbar genutzt werden; denn während dort eine lineare Beziehung zwischen

Bei Eingabe von 0 liefert es die oberste (zuletzt gespeicherte) Zahl und entfernt sie aus dem Stack, bei Überschreitung der Speicherkapazität oder Unterschreitung der

Wird der vorhandene Code mit definierter Präprozessor-Konstanten DEBUG compiliert, so erscheint im Ausführungsfenster als erstes eine Reihe von Angaben über die Größe der hier

Ist die automatische Rechtschreibprüfung eine Form der Textbearbeitung oder der Textverarbeitung (Textbearb. / beides / beides

Dies kann noch eingepflegt werden, indem am Ende der switch-Anweisung zur Registrierung von Tastatur-Eingaben (Funktion Keyboard()) die Meldung ans GLUT-Fenstersystem