Autor Beitrag
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 24.04.08 12:15 
Hallo,

gibts eigentlich in Delphi 7 schon inline proceduren? Ich bin mir nicht sicher ob das so heißt, aber ich mein die proceduren neben denen halt inline steht.

Sind diese inlineproceduren eigentlich mit den #define-sachen aus C++ vergleichbar?

Oder gibts in delphi was vergleichbares zu den #define-Sachen?

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 24.04.08 12:34 
user profile iconelundril hat folgendes geschrieben:
Hallo,

gibts eigentlich in Delphi 7 schon inline proceduren? Ich bin mir nicht sicher ob das so heißt, aber ich mein die proceduren neben denen halt inline steht.

Sind diese inlineproceduren eigentlich mit den #define-sachen aus C++ vergleichbar?

Oder gibts in delphi was vergleichbares zu den #define-Sachen?

lg elundril


Nein, Inline-Prozeduren im Sinne von den Inlines \ Static Inlines aus C gibt's in Delphi nicht - nicht mal in Delphi 2005 und neuern Versionen.

Was es jedoch AB Delphi 2005 gibt, ist die Möglichkeit, bestimmte Methoden für das Inlining vorzuschlagen; die Einschränkungen dabei sind aber derart streng, dass das im Vergleich zu C ne echte Lachnummer ist.

Und bzgl. #define und Inlining sollte man unterscheiden.
#define ist eine Präprozessor-Anweisung, bei der der Quelltext der C-Datei vor dem Compilieren ZWANGSWEISE geändert wird, während Inlining eine für den Compiler optionale Möglichkeit darstellt (auch wenn er mit ein wenig KnowHow dazu gezwungen werden kann, dies immer zu tun).

Mehr bzgl. Inlining und wo's unterstützt wird, findet sich IIRC bei der DP oder in den Omorphia-Sources.

Inwiefern das Inlining von FreePascal aber zu dem von Delphi kompatibel ist, kann ich nicht sagen; ich glaubs aber mal kaum ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
elundril Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 24.04.08 12:52 
ok, danke.

mir wurde halt erklärt das dieses #define halt immer anweisungen ersetzt. also das man sozusagen das hier:

ausblenden Quelltext
1:
y=(a*b)/(2*2541)-sqrt(b)					


wenn mans mehrmals im quelltext an unterschiedlichen stellen hat so

ausblenden Quelltext
1:
2:
3:
#define formel(a,b) (a*b)/(2*2541)-sqrt(b)

y=formel(a,b)


ersetzen kann und man sich dadurch schreibarbeit erspart. in delphi muss ich jetzt dann immer den ganzen term hinschreiben nehm ich mal an. oder gibts ne alternative?

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Calculon
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 676

Win XP Professional
Delphi 7 PE, Delphi 3 PRO
BeitragVerfasst: Do 24.04.08 12:58 
Eine function :gruebel: ?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
function formel(a,b: double): double;
begin
  result := (a*b)/(2*2541)-sqrt(b);
end;

_________________
Hallo Mutti
elundril Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 24.04.08 13:01 
jop aber eine function verzögert ja wieder. Da muss ja der Quelltext immer hin und her springen oder? das gibt das wieder leichte performanceeinbußen die ich mir nicht leisten will.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Calculon
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 676

Win XP Professional
Delphi 7 PE, Delphi 3 PRO
BeitragVerfasst: Do 24.04.08 13:04 
Ach so meinst du, dann kannst du ja mit dem Delphi-Editor Platzhalter, die du vorher definiert hast einfach mit deinem Term ersetzen.

_________________
Hallo Mutti