Laufzeitinfos für Reflection Unterschiede FPC, C etc.

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Antworten
RSE
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.

Beitrag von RSE »

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.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

Hitman
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.

Beitrag von Hitman »

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".

RSE
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.

Beitrag von RSE »

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!

Antworten