eigene IO Klasse schreiben

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
BlueShark
Beiträge: 79
Registriert: 28.02.2009, 18:55
Alter Benutzername: BlueShark

eigene IO Klasse schreiben

Beitrag von BlueShark »

Moin moin,
ich bin momentan dabei einmal selbst kleine Helferklassen wie Strings, Streams, Buffer, Konverter, usw. zu programmieren (normalerweise nutze ich einfach die STL) und möchte mich nun anfangen mich mit IO zu beschäftigen. Leider habe ich bis jetzt dazu wenig im Internet gefunden. Also dachte ich mir, dass ich mir mal anschaue, wie die stl das handhabt, doch irgendwie werde ich einfach nicht fündig.

Immerhin habe ich ja schon die Möglichkeit gefunden mithilfe von "memory mapped files" ein wenig zu programmieren. Aber da gibt es ja noch mehr. Vielleicht kennt ja jemand von Euch eine Seite, wo ich herausfinden kann, wie die stl IO-Operationen bewerkstelligt.

Vielen Dank schon mal im Vorraus
BS
Benutzeravatar
Biolunar
Establishment
Beiträge: 154
Registriert: 27.06.2005, 17:42
Alter Benutzername: dLoB

Re: eigene IO Klasse schreiben

Beitrag von Biolunar »

Na dann viel Spass :D Du wirst ne GANZE Weile damit beschäftigt sein...
Ohne nach dem Wieso zu fragen, könntest du dir mal den Source vom gcc bzw. g++ anschauen. Da sind die ganzen Header mitsamt den Implementierungen von der Standard Library.
BlueShark
Beiträge: 79
Registriert: 28.02.2009, 18:55
Alter Benutzername: BlueShark

Re: eigene IO Klasse schreiben

Beitrag von BlueShark »

Dort habe ich ja schon nachgeschaut aber nirgendwo einen Ansatz gefunden, wo nun letzten Endes Plattform spezifische IO-Funktionen aufgerufen werden. Ich habe nur eine Sache gefunden und das war ein Verweis auf die stdio.h. Ich bin mir nun aber nicht sicher, ob die C++ Streams nun einfach auf einem FILE-Objekt draufgeschraubt wurden?

Mfg
BS
Benutzeravatar
Biolunar
Establishment
Beiträge: 154
Registriert: 27.06.2005, 17:42
Alter Benutzername: dLoB

Re: eigene IO Klasse schreiben

Beitrag von Biolunar »

Genau so wurde Streams Library vom gcc auch erstellt! Das ist quasi ein Wrapper um die C Funktionen. Wie das eine andere Implementierung löst, ist damit natürlich nicht gesagt. Zum Beispiel könnte Microsofts Standard Lib intern WinAPI Funktionen verwenden anstatt der Funktionen aus der C Lib; das ist halt jeder Implementierung selber überlassen... Je nachdem was du vor hast, kannst du die, meiner Meinung nach, bequemen C IO Funtionen verwenden oder halt Platformspezifische Funktionen.

Mist, jetzt drängt sich mir doch noch die Frage auf, was du vor hast ;)
Helmut
Establishment
Beiträge: 237
Registriert: 11.07.2002, 15:49
Wohnort: Bonn
Kontaktdaten:

Re: eigene IO Klasse schreiben

Beitrag von Helmut »

Du kennst doch CreateFile, WriteFile und co? Nichts anderes wird die Stl intern benutzen. Wenn du wissen willst, wie wo diese das genau macht, kannst du einfach mit dem Debugger reinsteppen. Dass du daraus aber auch nur ansatzweise schlauer wirst wage ich doch zu bezweifeln.

Ciao
BlueShark
Beiträge: 79
Registriert: 28.02.2009, 18:55
Alter Benutzername: BlueShark

Re: eigene IO Klasse schreiben

Beitrag von BlueShark »

Und ob, dass reicht mir nämlich vollkommen aus^^. Den Aufbau der WIndows IO-Funktionen muss ich ja nicht kennen, sondern muss nur wissen, dass sie die Windows spezifischen Funktionen sind. Eigentlich hätte ich Depp da auch von selbst drauf kommen müssen.

Und was ich vorhabe ist eigentlich schnell gesagt, ich will lernen. Deshalb schreibe ich jetzt schon seit einiger Zeit meine eigenen Helferklassen. Ich habe mir nee kleine String Library gebastelt, nen Memory Manager(er läuft ganz gut, aber immer noch ein wenig schleppend^^) meine eigenen Streams, damit ich meine Klassen debuggen kann, darunter eine Klasse, mit deren Hilfe ich mir die komplette Herarchie meiner Projekte ausgeben kann, sprich welche Funktion weitere Funktionen aufruft(finde ich sehr praktisch). Außerdem habe ich mir eine Klasse geschrieben, mit deren Hilfe ich alle meine Streams in einem wxWidgets Fenster ausgeben lassen kann, welches einfach in einem neuen Prozess gestartet wird. Wie man sieht ist das alles nichts großartiges, gibt es alles schon zu Hauf, doch ich habe einfach nur Spass am Entwickeln und gerade diese kleinen Sachen machen mir unheimlich Spass.

vielen Dank
BS
Antworten