Einzelnen Beitrag anzeigen

Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#4

Re: Bedeutung von Compilerdirektiven $F, $K, $N und $S

  Alt 30. Nov 2004, 00:20
Hallo MaBuSe!


Wieso sollte das nicht in der Hilfe stehen

Hier frisch aus der Online-Hilfe:

Code:
{$F+} / {F-}
Erzwingen von FAR-Aufrufen bei Unterprogrammen.

Code:
{$K+} / {KF-}
Smart Callbacks (für Callback-Funktionen).

Code:
{$N+} / {N-}
Numerischen Coprozessor (80x87) benutzen. Dazu gehört dann noch:
Code:
{$E+} / {E-}
Coprozessor ggf. über Hauptprozessor-Arithmetik emulieren (wird beim Programmstart festgestellt und dann werden Tabellen passend geschrieben).

Code:
{$S+} / {S-}
Stack-Prüfung - beu UP-Afrufen wird geprüft, ob noch Platz für die lokalen Variablen auf dem Stack ist.

Code:
{$S nnn}
Segmentgröße festlegen.


Achso - um das zu ermitteln, habe ich nicht das "Orakel von Delphi" gefragt, sondern "Im Namen der DOSe" meinen TURBO gezündet!
Es handelt sich um Optionen, die bei Turbo-Pascal 7.0 (oder auch schon früher) gültig waren und heute keine Bedeutung mehr haben. Deshalb sind sie ja auch nicht mehr dokumentiert.

Bei $E gibt es - wenigstens bei mir - inzwischen eine neue Bedeutung. Nach Deinem Post wird jedoch die alte Bedeutung ($E-) eingefügt.

Frag's Pferd - oder vielleicht die DP- - warum Delphi die Dinger immer noch mitschleppt.

Andererseits: Es wird ja sogar noch CP/M-Ballast mitgeschleppt! Die Routinen für Datenträger-Größe und freien Speicherplatz erwarten das Laufwerk als Zahl - wie bei CP/M geübt. Die Ergebnisse sind allerdings Int64.

Es leben Kompatibilität und Kontinuität!

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
Die 6 Probleme des Programmierers: 1. dauert das länger, als man 2. glaubt, 3. geht das nicht so, wie man sich das 4. schlau überlegt hat, und 5. sitzt der Fehler da, wo man ihn 6. zuletzt sucht
  Mit Zitat antworten Zitat