AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi "C++-Objektdateien erzeugen" --> Delphi + C++ mischen?
Thema durchsuchen
Ansicht
Themen-Optionen

"C++-Objektdateien erzeugen" --> Delphi + C++ mischen?

Ein Thema von MStoll · begonnen am 15. Jan 2007 · letzter Beitrag vom 15. Jan 2007
Antwort Antwort
MStoll

Registriert seit: 15. Nov 2005
131 Beiträge
 
Turbo Delphi für Win32
 
#1

"C++-Objektdateien erzeugen" --> Delphi + C++ m

  Alt 15. Jan 2007, 22:25
Hallo,

ich sehe in den Projekt-Optionen von Delphi immer die Möglichkeit, auch C bzw. C++-Objektdateien zu erzeugen und ich meine irgendwo gelesen zu haben, dass der Borland C++-Compiler auch Delphi beherrscht. Ist es eigentlich nun möglich, Software in "gemischter" Programmiersprache zu schreiben? Wenn ja, hat da jemand Erfahrung drin? Dass man allgemein mit Dlls arbeiten kann für solche Fälle, weiß ich.

Bin mal gespannt.

Gruß
Michael
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: "C++-Objektdateien erzeugen" --> Delphi + C

  Alt 15. Jan 2007, 23:52
Die Objektdateien ist nur das Ablageformat dieses "Zwischenformats" zwischen Compiler und Linker, das hat keine Aussagekraft. Der C++Builder kann auch Delphi Dateien kompilieren (da der Delphi Compilier mit bei ist) und erstellt aus den Delphi/Pascalquellen die .hpp Header Dateien für die C++ Seite. Dabei ist beim C++Builder die gesamte VCL als Quelldateien und Packages in Delphi dabei und vorbereitet. Dabei ist es ohne Probleme möglich C++ und Delphi Komponenten und Units in einem C++Builder Projekt zu mischen. Da Borland eine Möglichkeit geschaffen hat alle besonderen sprachlichen Elemente von Delphi (dynamische Arrays, Set Of, etc) auf C++ abzubilden. Anders herum geht dies leider nicht, da du mit dem Präprozessor und weiteren sprachlichen Mitteln (dich denke da z.B. an Iteratoren, Templates, etc) welche nicht ohne Probleme oder einfach in Delphi abzubilden sind. Die C++ Sprache ist schon allein mit dem Präprozessor sprachlich umfangreicher bzw. unbeschränkter als Pascal/Delphi, welche eine strengere Typenreinheit hat.
Kleines Beispiel: Wie sollte Delphi mit einer C++ Unit umgehen (angenommen, er könnte es compilieren, oder du würdest ihn (den Linker) direkt mit einem .OBJ füttern), welche einen std::vector<> zurück gibt. Wie willst du sowas in Delphi ansprechen/nutzen? Auch Referenzen von Objekten, der (automatische) Copy-Constructor (sogar bei Standardtypen), etc oder der Export von Klassen in einer DLL Funktion.

Sprachlich gesehen ist "The Delphi Language" einfacher gebaut (was nicht schlechter heissen muss, sie hat andere Vorteile wie Typensicherheit, etc) und kann von der komplexeren Sprache leichter nachgebildet/angesprochen werden. Umgekehrt geht dies schlechter.

Wir stehen zZ auch vor diesem grundlegenden Problem. Wir würden am liebsten C++ Libraries oder LIB/BPLs nutzen, aber dann würden wir alle Delphi Nutzer ausschliessen und viele Mitarbeiter müssten erstmal eine neue Sprache lernen. Aber anderseits fehlen uns nötige Implementation in Delphi, z.T. weil diese einfach nicht möglich sind. Auch hier bleibt uns nur der Weg über DLLs...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz