05.11.2013 Aufrufe

Vergleich von Delphi und Visual C++ - Inhalt

Vergleich von Delphi und Visual C++ - Inhalt

Vergleich von Delphi und Visual C++ - Inhalt

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Vergleich</strong> <strong>von</strong> <strong>Delphi</strong> <strong>und</strong> <strong>Visual</strong> <strong>C++</strong> - Kapitel 2A<br />

Bsp.:<br />

#if !defined( EXAMPLE_H )<br />

#define EXAMPLE_H<br />

class Example<br />

{<br />

...<br />

};<br />

Bsp.:<br />

{$IFDEF _DEBUG}<br />

{ShowMessage('Debug'+StrText)}<br />

{$ELSE}<br />

{ShowMessage(StrText)}<br />

{$ENDIF}<br />

#endif<br />

Einige Symbole werden durch die Compiler bzw. Bibliotheken bereits vorbelegt, wie z. B. _WIN32 in V<strong>C++</strong> <strong>und</strong> Win32 in Object<br />

Pascal. Sie erleichtern das Erstellen <strong>von</strong> portierbarem Code. Neben den einfachen Mechanismen zur bedingten Compilierung<br />

existieren in <strong>C++</strong> weitere Möglichkeiten, vor dem eigentlichen Übersetzungsvorgang Manipulationen am Quelltext vorzunehmen.<br />

Der <strong>Inhalt</strong> einer ganzen Datei kann in <strong>C++</strong> durch die Präprozessor-Anweisung #include Datei, in Pascal durch die<br />

Compiler-Anweisung {$I Datei} oder {$INCLUDE Datei} im Quelltext eingefügt werden. Das Einfügen erfolgt an der Stelle, an der<br />

die Compileranweisung auftritt. In <strong>C++</strong> wird die include-Anweisung intensiv dazu benutzt, um die, in getrennten Dateien geführten,<br />

Schnittstellendefinitionen (Header-Dateien) <strong>und</strong> Implementierungen (cpp-Dateien) wieder zusammen zuführen. Weitere<br />

Erläuterungen folgen im Abschnitt "Programmstruktur".<br />

Beide Compiler können Projekteinstellungen, global bzw. lokal auf einen bestimmten Text-abschnitt bezogen, im Quelltext<br />

umdefinieren. <strong>C++</strong> bemüht dazu wiederum seinen Präprozessor <strong>und</strong> verwendet sogenannte "Pragma - Direktiven" als<br />

Compiler-Anweisungen in der Form #pragma CompilerInstruction. Sie stellen maschinenspezifische Anweisungen dar. <strong>Delphi</strong> nutzt<br />

statt dessen wieder seine Art der Compiler-Anweisungen in der Form {$...}. Um beim Übersetzen die Ausgabe <strong>von</strong> Warnungen zu<br />

vermeiden / die Optimierung zeitweise auszuschalten, könnte folgendes geschrieben werden:<br />

V<strong>C++</strong><br />

// Warnung Nr. 34 wird<br />

// unterdrueckt<br />

#pragma warning(disable: 34)<br />

void func()<br />

{<br />

a;<br />

}<br />

#pragma warning(default: 34)<br />

<strong>Delphi</strong><br />

// alle Warnungen werden<br />

// unterdrueckt<br />

{$WARNINGS OFF}<br />

procedure func;<br />

begin<br />

a;<br />

end;<br />

{$WARNINGS ON}<br />

// jegliche Optimierung aus<br />

#pragma optimize("", off)<br />

void func()<br />

{<br />

b;<br />

}<br />

#pragma optimize("", on)<br />

// jegliche Optimierung aus<br />

{$OPTIMIZATION OFF}<br />

procedure func;<br />

begin<br />

b;<br />

end;<br />

{$OPTIMIZATION ON}<br />

http://ourworld.compuserve.com/homepages/praxisservice/kapit2a.htm (11 of 24) [19.05.2000 15:30:03]

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!