Tutorial
Const vs. #define
Danach hat volta Folgendes geschrieben:
'Meine Überlegungen dazu waren: warum nicht die Function als Static definieren?
Function Pi As Double Static
Function = 4.0*Atn(1.0)
End Function
Function e As Double Static
Return Exp(1.0)
End Function
'.section .data
'.balign 8
'_Lt_0005: .double 3.141592653589793
'.balign 8
'_Lt_0008: .double 2.718281828459045
'Siehe da, FB erstellt den fast gleichen Quellcode. Bei beiden Versionen werden die Werte
'nicht zur Laufzeit berechnet, sondern im DATA-Bereich als Konstanten angelegt.
'Selbst wenn ich das 'Static' bei den Funktionen weglasse, wird der absolut gleiche Quelltext erzeugt.
'Der FBC scheint da 'mit zu denken' ;-))
'Die kürzeste und schnellste Methode bei meinen Tests war:
Const Pi As Double = 3.141592653589793
Const e As Double = 2.718281828459045
'Konstanten mit direkter Wertzuweisung ^^
Der Einwand:"Ich hab' aber linux.." läßt sich mit einem einfachen 'Na und?' beiseite schieben, denn wer nicht nur die Buchstaben angeschaut sondern das Tutorial richtig gelesen hat, wird feststellen, daß diese Betrachtungen für ALLE Systeme gelten, auf denen FreeBASIC läuft..
Gruß
ytwinky
Gehe zu Seite
1 2 3
Zusätzliche Informationen und Funktionen |
- Das Tutorial wurde am 11.01.2008 von ytwinky angelegt.
- Die aktuellste Version wurde am 27.08.2010 von frebas gespeichert.
|
|