AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

Sinnvolle Methode zum Linken von C/C++ Code in Delphi

Ein Thema von Assarbad · begonnen am 8. Okt 2010 · letzter Beitrag vom 8. Okt 2010
Antwort Antwort
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#1

AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi

  Alt 8. Okt 2010, 14:17
Da er wohl das RAD-Studio hat, welches einen C-Compiler beinhaltet, sollte es theroetisch möglich sein. Notfalls halt mit manueller Build-Skript Anpassung
Exakt. Ein manuelles Build-Skript ist aber auch nur Frickelei, weil ich dort entweder den Pfad (zum Compiler) hartkodieren müßte oder über jede Menge ansonsten unsinnigen Code ermitteln müßte.

Btw.: Welcome Back Olli.
Danke. Dieser Name war leider schon vergeben, meines Wissens nach aber nicht an mich.

Ich kenn auch nur den Weg über die vorkompilierte OBJ.

Eventuell gibt es ja ab XE2 was, wenn die da eh einen neuen Compiler nutzen?
Kombiniert gibt es ja den C++ Builder schon lange mit Delphi zusammen. Seltsam, daß da noch niemand sonst Bedarf angemeldet hat. Immerhin ist Build-Automatisierung eines der großen Themen in modernen Programmierparadigmen. Unabdingbar für "Continuous Integration", beispielsweise.

Oder nutzt das PreCompile-Script und compiliert dort die C in einen OBJ,
bzw. man bindet einen PreCompiler in sein Dlphi ein, welcher die PAS/DPR parst, nach einem "eigenen" {$CLINK xyz.c} (oder sonstwie) sucht, die C-Datei kompiliert und den Befehl durch {$LINK Temp.obj} ersezt, bevor sich der Delphi-Compilier die Datei vornimmt.
Das klingt interessant. Kannst du mir da irgendwelche Links geben bei denen ich mich belesen kann?

Jupp, und willkommen
Danke danke
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.386 Beiträge
 
Delphi 12 Athens
 
#2

AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi

  Alt 8. Okt 2010, 14:23
Nee, leider nicht.

Ich hatte vor einer Weile mal einen PreCompiler für's RAD-Studio (2006 oder 2007) gesehn, welcher z.B. _LINE_ , _FILE_ und Ähnliches ersetzen konnte.
Ich weiß auch nicht ob/wie man da z.B. über die OTA rankommt.

Fand das recht interessant, aber leider finde ich diesen nicht mehr
Abgesehn von einem für D7, aber dieser läßt sich leider nicht auf neuere Delphi portieren.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.223 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi

  Alt 8. Okt 2010, 14:26
Ich hatte vor einer Weile mal einen PreCompiler für's RAD-Studio (2006 oder 2007) gesehn, welcher z.B. _LINE_ , _FILE_ und Ähnliches ersetzen konnte.
Ich weiß auch nicht ob/wie man da z.B. über die OTA rankommt.

Fand das recht interessant, aber leider finde ich diesen nicht mehr
Sowas hat die Jedi in den Debug-Units drin. Geht aber AFAIK nur zur Laufzeit mit entsprechenden Debug-Infos.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.386 Beiträge
 
Delphi 12 Athens
 
#4

AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi

  Alt 8. Okt 2010, 15:04
Sowas hat die Jedi in den Debug-Units drin. Geht aber AFAIK nur zur Laufzeit mit entsprechenden Debug-Infos.
Joar, aber mit einem echten PreCompiler hätte man es halt schon früher tauschen können und da gingen dann auch andere Sachen, wie z.B. Klartext-Konstanten vor dem Kompiler zu "verschlüsseln".

Jedenfalls wurde da wohl irgendwie auf ein Ereignis reagiert, welches zum Beginn des Kompilierens ausgelöst wird.
Dann wurden die Dateien geparst und virtuell über dieses komische virtuelle Dateisystem in der OTA bearbeitet.
Erst danach ging es dann an den Delphi-Compiler.

Die Variante von Delphi 7 mußte erstmal alle Dateien speichern lassen, hat dann über einen externen "PreCompiler" die PAS bearbeitet und dieses nach dem Compilieren wieder rückgängig gemacht.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.877 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi

  Alt 8. Okt 2010, 14:33
Ich hatte vor einer Weile mal einen PreCompiler für's RAD-Studio (2006 oder 2007) gesehn, welcher z.B. _LINE_ , _FILE_ und Ähnliches ersetzen konnte.
Du meinst wahrscheinlich die DLangExtensions vom Andreas Hausladen (jbg)
Markus Kinzler
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi

  Alt 8. Okt 2010, 14:38
Du kannst übrigens nicht jeden C-Compiler nutzen, da Delphi nur Objekt-Dateien welche im OMF Format vorliegen linken kann!
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#7

AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi

  Alt 8. Okt 2010, 14:40
Du meinst wahrscheinlich die DLangExtensions vom Andreas Hausladen (jbg)
Interessantes Projekt, danke schonmal dafür.

Du kannst übrigens nicht jeden C-Compiler nutzen, da Delphi nur Objekt-Dateien welche im OMF Format vorliegen linken kann!
Ist bekannt.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  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 12:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz