Vergleich von Delphi und Visual C++ - Inhalt
Vergleich von Delphi und Visual C++ - Inhalt
Vergleich von Delphi und Visual C++ - Inhalt
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]