Heute brauche ich mal eure Hilfe für meine Bachelorarbeit. Dort behandele ich unter anderem das Architekturmuster (Pattern) Reflection, bei dem die Struktur und das Verhalten des Programms auf Laufzeitinformationen basiert. Nun geht es mir darum, wie man an die Laufzeitinformationen herankommt. In FPC ruft man sie einfach über die Eigenschaften der Klasse direkt ab. Ist das in allen Programmiersprachen so? Ich habe mal irgendwo aufgeschnappt (fragt bitte nicht wo!), dass es z.B. in C/C++/C# extra Klassen für den Zugriff auf die Laufzeitinformationen gibt.
Ich bitte darum, dass die Antworten auf Wissen basieren, und nicht auf Hörensagen.
Laufzeitinfos für Reflection Unterschiede FPC, C etc.
-
- Beiträge: 462
- Registriert: Mi 30. Jul 2008, 13:11
- OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
- CPU-Target: 32Bit
- Kontaktdaten:
Laufzeitinfos für Reflection Unterschiede FPC, C etc.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: Laufzeitinfos für Reflection Unterschiede FPC, C etc.
Am besten selbst angucken:
.NET: http://www.codersource.net/csharp_tutor ... ction.html
Java: http://java.sun.com/docs/books/tutorial/reflect/
C hat keine Klassen ... da nicht objektorientiert. Folglich würde da so ein Feature wenig Sinn machen. In C++ kann ich es nicht genau sagen, meines Wissens gibt es da aber ebenfalls keinerlei "RTTI".
.NET: http://www.codersource.net/csharp_tutor ... ction.html
Java: http://java.sun.com/docs/books/tutorial/reflect/
C hat keine Klassen ... da nicht objektorientiert. Folglich würde da so ein Feature wenig Sinn machen. In C++ kann ich es nicht genau sagen, meines Wissens gibt es da aber ebenfalls keinerlei "RTTI".
-
- Beiträge: 462
- Registriert: Mi 30. Jul 2008, 13:11
- OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
- CPU-Target: 32Bit
- Kontaktdaten:
Re: Laufzeitinfos für Reflection Unterschiede FPC, C etc.
Also wenn ich das richtig interpretiere, gibt es sowohl in Java, als auch in C# extra Objekte, die die Laufzeitinfos liefern. Daher würde ich mal einfach davon ausgehen, dass es bei "vielen" Programmiersprachen üblich ist, die RTTI über eigene Objekte zugänglich zu machen, während sie bei Object Pascal direkt im Objekt integriert sind.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!