Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

EDV1 - Visual C++ Einführung in Visual C++. EDV1 - Visual C++ 2 Allgemeines Visual C++ ist integriert in VisualStudio VisualStudio ist eine Oberfläche,

Ähnliche Präsentationen


Präsentation zum Thema: "EDV1 - Visual C++ Einführung in Visual C++. EDV1 - Visual C++ 2 Allgemeines Visual C++ ist integriert in VisualStudio VisualStudio ist eine Oberfläche,"—  Präsentation transkript:

1 EDV1 - Visual C++ Einführung in Visual C++

2 EDV1 - Visual C++ 2 Allgemeines Visual C++ ist integriert in VisualStudio VisualStudio ist eine Oberfläche, die die Entwicklung, Testung und Pflege von Softwareprojekten unterstützt. –Intelligenter Editor –Projektunterstützung –Leistungsfähiger Debugger –Leistungsfähiger Profiler Für VisualStudio sind viele Compiler vorhanden. Z.B.: –C++ –J++ –Visual Basic –FoxPro –InterDev (Internet-Applikationen) –Fortran (von Digital Equipment)

3 EDV1 - Visual C++ 3 Vorteile: –Einheitliche Oberfläche für viele Sprachen –Intelligente Assistenten –Leistungsfähiger Editor –Integration verschiedener Sprachen in einem Projekt –Projektunterstützung (make-Funktion) –Umfangreiche Debug-Möglichkeiten –Umfangreiche Profiler-Möglichkeiten Nachteile: –Assistenten erzeugen Texte, die viele Microsoft/Windows- spezifische Anteile Enthalten geringere Portabilität. –Automatisch generierte Texte sind schwer durchschaubar und sind daher schwer zu modifizieren.

4 EDV1 - Visual C++ 4 Starten von Visual C++ Start Programme Microsoft Visual Studio 6.0 Visual C Datei Neu Projekte Win32Konsolanwendung Pfad auswählen in dem das Projekt gespeichert werden soll Projektname eintragen OK Eine Hallo, Welt-Anwendung erstellen auswählen OK Es wird ein Projekt erstellt, das das fertige Hallo, Welt-Programm enthält. ! drücken Alle Programme werden übersetzt, gelinkt und in einem DOS-Fenster abgearbeitet.

5 EDV1 - Visual C++ 5 Teile des VisualStudio-Fensters Links: Anzeige des offenen Projektes –Karten: Klassen: zeigt die logische Struktur des Projektes Dateien: zeigt die Dateistruktur des Projektes Ressourcen: zeigt allgemeine Ressourcen, wie z.B. Zeichenketten, Grafiken u.s.w. Rechts: Bearbeitung von Inhalten (Quelltexte, Grafiken, Steuerelement u.s.w.) Unten: Mitteilungsfenster

6 EDV1 - Visual C++ 6

7 7 Beispiel für Strukturen Es soll eine Struktur entwickelt werden, die Personendaten (Name, Adresse, Geburtsdatum) speichert und zugreifbar macht. Die Bestandteile sind wiederum Strukturen: –Name: Anrede, Vorname, Nachname –Adresse: Strasse, Postleitzahl, Ort –Geburtsdatum: Tag, Monat, Jahr Bestandteile der Strukturen sind Zeichenketten bzw. int-Variable Zeichenketten können beliebig lang sein. Alternative: Es werden maximale Längen festgelegt. Nachteil: Es wird oft zu viel oder zu wenig Speicherplatz belegt. Es ist günstig für jede der benötigten Strukturen einen eigenen Modul zu definieren (analog Klassen in JAVA). Um Implementierung und Definition voneinander trennen zu können benutzt man header-Dateien.

8 EDV1 - Visual C++ 8 Header-Datei Enthält die nach außen sichtbaren Definitionen: Datentypen, Prozedurköpfe, Macros. Z.B.: datum.h #ifndef _P_DATUM #define _P_DATUM struct datum_struct { int tag; int monat; int jahr; }; typedef struct datum_struct datum; datum create_datum(int tag, int monat, int jahr); void destroy_datum(datum d); int datum_toString(char *buffer, int len, datum d); #endif // _P_DATUM

9 EDV1 - Visual C++ 9 CPP-Datei Enthält die Implementierung der Prozeduren. Z.B.: datum.cpp #include "stdafx.h" datum create_datum(int tag, int monat, int jahr) { datum d={tag,monat,jahr}; return d; } void destroy_datum(datum d){} int datum_toString(char *buffer, int len, datum d) { if (11>len) return 1; sprintf(buffer,"%2u.%2u.%4u",d.tag,d.monat,d.jahr); return 0; }

10 EDV1 - Visual C++ 10 Stdafx.h Diese Datei kann benutzt, werden um include-Dateien nur in einer Datei angeben zu müssen.... #include #include "datum.h" #include "adresse.h" #include "name.h" #include "person.h"...

11 EDV1 - Visual C++ 11 Adress-Struktur adresse.h #ifndef _P_ADRESSE #define _P_ADRESSE struct adresse_struct { char *strasse; int plz; char *ort; }; typedef struct adresse_struct adresse; adresse create_adresse(char *strasse, int plz, char *ort); void destroy_adresse(adresse a); int adresse_toString(char *buffer, int len, adresse a); #endif // _P_ADRESSE

12 EDV1 - Visual C++ 12 adresse.cpp #include "stdafx.h" adresse create_adresse(char *strasse, int plz, char *ort) { adresse a; a.strasse=(char *)malloc(strlen(strasse)+1); strcpy(a.strasse,strasse); a.plz=plz; a.ort=(char *)malloc(strlen(ort)+1); strcpy(a.ort,ort); return a; } void destroy_adresse(adresse a) { free(a.strasse); free(a.ort); }

13 EDV1 - Visual C++ 13 int adresse_toString(char *buffer, int len, adresse a) { char b[20]; int l=0; l=strlen(a.strasse)+1;if (l>len) return 1; strcpy(buffer,a.strasse); l++;if (l>len) return 2; strcat(buffer,"\n"); sprintf(b,"%u",a.plz); l+=strlen(b);if (l>len) return 3; strcat(buffer,b); l++;if (l>len) return 4; strcat(buffer," "); l+=strlen(a.ort);if (l>len) return 5; strcat(buffer,a.ort); return 0; }

14 EDV1 - Visual C++ 14 Mit VisualStudio Debuggen Debuggen ist das Entfernen von Bugs aus Programmen. Häufige Fehler sind z.B.: –Fehlerhafte Tests (< statt <=...) –Syntaktische Fehler (= statt ==, fehlende break-Anweisung) –Fehlerhafte Indizes –Schreiben über das Ende des Feldes oder der Zeichenkette. –Negative Indizes bei Feldern. –Fehlen des 0-Zeichens am Ende von Zeichenketten. –Fehlerhafte Parameter beim Aufruf von Prozeduren.

15 EDV1 - Visual C++ 15 Kommandos im Debug-Modus Erneut [im Debug-Modus] starten (Ctrl+Shift+F5) Debug beenden (Shift+F5) Ausführung anhalten Code-Änderung zuweisen (Alt+F10) Nächste Anweisung anzeigen (Alt+Num*) In Aufruf springen (F11) Aufruf als ein Schritt (F10) Ausführen bis Rücksprung (Shift+F11) Ausführen bis Cursor (Alt+F10) Schnellüberwachung (Shift+F9) Es können verschiedene Fenster für unterschiwdliche Anzeigen geöffnet werden.

16 EDV1 - Visual C++ 16 Profilen Profilen dient der Optimierung von Programmen. Es können z.B. folgende Fragen beantwortet wird: –Welche Module werden wirklich benötigt? –Welche Anweisungen werden abgearbeitet? –Welche Module verbrauchen am meisten Rechenzeit? –In weichen Abschnitten wird am meisten Rechenzeit verbraucht?


Herunterladen ppt "EDV1 - Visual C++ Einführung in Visual C++. EDV1 - Visual C++ 2 Allgemeines Visual C++ ist integriert in VisualStudio VisualStudio ist eine Oberfläche,"

Ähnliche Präsentationen


Google-Anzeigen