[erklärt] In LPR(-Windows) steht UNIX anstatt Windows?

[erklärt] In LPR(-Windows) steht UNIX anstatt Windows?

Beitragvon Erwin » 31. Jul 2016, 14:06 [erklärt] In LPR(-Windows) steht UNIX anstatt Windows?

Hoffe es gehört hierher.

In der Projekt-Datei lpr gibt es die Zeile mit ifdef. Genau gesagt steht da bei mir:
Code: Alles auswählen
 
{$IFDEF UNIX} {$IFDEF UseCThreads}
cthreads,
{$ENDIF} {$ENDIF}
 

Mich irritiert das mit den UNIX. Es klappt zwar wunderbar, aber ich dachte, ich hätte mal wo gelesen, dass es Windows oder dergleichen dort stehen müsste? Was aber scheinbar doch nicht der Fall ist? Kann mir bitte Jemand schreiben, was es damit genau auf sich hat?

Danke.
Zuletzt geändert von Erwin am 31. Jul 2016, 18:21, insgesamt 1-mal geändert.
Win 7 / Lazarus 1.6 / FP 3.0.0 / x86_64-win64-win32/win64
Erwin
 
Beiträge: 216
Registriert: 16. Sep 2009, 13:15
OS, Lazarus, FPC: Xubuntu 16.04 / x86_64_linux-gtk 2 / L 1.6+dfsg-1 / FPC 3.0.0 | 
Nach oben

Beitragvon wp_xyz » 31. Jul 2016, 14:39 Re: In LPR(-Windows) steht UNIX anstatt Windows?

Das bedeutet: "Falls unter Unix übersetzt wird und falls das Symbol "UseCThreadsdefiniert" ist, wird die Unit cthreads dazugebunden". Unter Windows wird das natürlich ignoriert - eben weil nicht unter Unix übersetzt wird. Man braucht cthreads unter Unix/Linux, wenn in dem Programm Threads verwendet werden. Wenn du nie unter Unix/Linux arbeiten wirst, bzw. wenn dein Programm nie Threads verwenden wird, kannst du die Direktive auch löschen, falls es dich stört.
wp_xyz
 
Beiträge: 2617
Registriert: 8. Apr 2011, 08:01

Beitragvon Erwin » 31. Jul 2016, 18:20 Re: In LPR(-Windows) steht UNIX anstatt Windows?

Threads? Hm... sagt mir nichts, aber mal sehen, was sich da finden lässt.

Falls unter Linux übersetzt wird? Es ist also vor allem zusätzlich? ifdef ... 'if' (= das bekannte 'wenn') ... also wenn es Unix ist, dann soll es ... . War mir gar nicht so aufgefallen, weil ifdef ein Wort ist. Also anders gesagt, Windows kann ohne weiteres diese Threads verwenden. Während Linux bei der Verwendung von diesen Threads dann cthreads braucht? Und ifdef/endif und cthreads sorgt dann dafür.
Durch den Befehl kann man dann also was Threads betrifft, den Code unter beiden BS dann ohne extra Änderung (wegen den Threads) kompilieren.
Wäre also teils damit vergleichbar, als wenn man zum Beispiel unbedingt will, dass das Programm in die Registriy geschrieben wird, dann müsste so was wie 'ifdef Windows "then schreibe in die Registry" endif' machen, weil Linux/Unix wiederum ja keine vergleichbare Registry hat, und sonst dort nur Probleme gäbe.
Win 7 / Lazarus 1.6 / FP 3.0.0 / x86_64-win64-win32/win64
Erwin
 
Beiträge: 216
Registriert: 16. Sep 2009, 13:15
OS, Lazarus, FPC: Xubuntu 16.04 / x86_64_linux-gtk 2 / L 1.6+dfsg-1 / FPC 3.0.0 | 
Nach oben

• Themenende •

Zurück zu Windows



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried