Plattformkompatibilität Windows /MacOS

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
Nicolas
Posts: 3
Joined: Tue Feb 15, 2005 12:18 am

Plattformkompatibilität Windows /MacOS

Post by Nicolas »

Den I/O-Warroir 40 kann man ja unter MAC OS richtig schön einfach programmieren! Unter Windows ist das allerdings nicht so einfach, da man hier ja unter C++ prog. muss. Gibt es eine Ebene auf der man Programmieren kann und danach den Source Code sowohl unter Windows als auch unter MACOS zu laufen zu bringen oder muss ich mir alle Definitionen der iowkit.h so umschrieben, dass sie später kompatibel zur IOWarriorlib.h unter MAC OS kompatiebel sind??

Wäre ein echter "Universal" fortschritt :D
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Plattformkompatibilität Windows /MacOS

Post by Guido Körber »

Also erstens kann man die DLL unter Windows von beliebigen Sprachen aus benutzen, zweitens haben wir auch Unterstützung für Delphi mit dabei.

Windows und MacOS behandeln den USB ziemlich unterschiedlich, so dass es nicht ganz einfach sein wird da eine einheitliche Lösung zu finden. Und nur die .h Files zu ändern fürht nur zu Nichtfunktion, dazu muss dann auch die jeweilige Lib entsprechend angepasst werden.
barelli
Posts: 1
Joined: Tue Feb 15, 2005 5:34 pm

Post by barelli »

Dass die Plattformen unterschiedlich sind und die hardwarenahe Ansteuerung grundsätzlich anders funktioniert ist OK. Aber das heisst doch nicht, dass die höheren Ebenen auch unterschiedlich sein müssen!?

Sowohl die Mac als auch die Windows Umgebung für C sieht vor, dass man erst ein Init macht, die Anzahl der verbundenen IOwarriors zurück bekommt, dann irgendeine Integer-Variable mit dem Bitmuster füllt, das man gerne hätte und dann write(buffer) abwirft. Wenn man fertig ist, macht man ein close.

Die Hardwarenahen Systemaufrufe werden ja sowohl von der (Mac) IOWarriorLib.h als auch von der (Win) iowkit.h nach oben hin abgeschirmt und der Benutzer hat nichts mehr damit zu tun... Auf Benutzerebene sind die Aufrufe sehr ähnlich und die Betriebssystem-spezifischen Eigenschaften schon längst versteckt.

Ich finde, die Frage ist berechtigt, warum nicht auf beiden Plattformen die gleichen Namen für die Befehle genommen wurden. Und ich halte es durchaus für denkbar, dass man durch eine sehr simple eigene Header-Datei die Aufrufe der einen Lib in die Aufrufe der anderen Lib überführen könnte... Das ist natürlich ein saublöder doppelter Boden, wenn man die Libs gleich hätte aufeinander abstimmen können...
Post Reply