Der Martin: Dateidownload - mehrere Prozesse

Beitrag lesen

Hi,

Darum kann Windows (Windowsprogramme) auch nie wirklich gut und schnell werden! Da passt die Programmiersprache nicht zum Kernel.

doch schon - nur dass der Kernel nicht die seit Jahrzehnten üblichen Funktionen aus der C-Standardbibliothek implementiert, sondern einen eigenen Satz an Funktionen.

Natürlich gibt es auch fopen(), flock(), fread() und Konsorten in den Bibliotheken der Windows-Compiler. Aber die entsprechenden Funktionen sind im Windows-Kernel nur Wrapper für CreateFile(), ReadFile() etc. mit teils völlig anderer Semantik. Microsoft empfiehlt daher, generell die Windows-spezifischen Funktionen zu verwenden.

Bei Funktionen zur Speicherverwaltung sieht's genauso aus: MS empfiehlt, nicht malloc() und free() zu verwenden (obwohl die natürlich auch zur Verfügung stehen), sondern deren Windows-spezifische Pendants GlobalAlloc(), GlobalLock(), GlobalFree() usw., die mehr Möglichkeiten bieten, aber dadurch auch schwieriger zu handhaben sind.

Dass dies dem Wunsch nach Portabilität wenigstens noch auf Quellcode-Ebene zuwiderläuft, ist logisch.

So long,
 Martin

--
Dürfen Finanzbeamte eigentlich ihren Kaffee schwarz trinken? - Ich glaube ja. Aber sie dürfen ihre Tasse nicht absetzen.
  (gehört auf SWR3)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(