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 So 31. Jul 2016, 19:21, insgesamt 1-mal geändert.
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.
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.