memory mapping



  • Hallo freunde,
    also suche jetzt schon ne std ca. nach einem Beispiel wie ich ein flatfile gegen mein Speicher mappen kann. HAt da einer Zufällig ein kleines Beispiel parat.


  • Mod

    Wie wäre es mit der Benutzung von Boost? Da gibt es einen Teil für memory mapped files. Man muss ja nicht immer alles 1000x neu erfinden.



  • Besten Dank, habe ja auch net gesagt, dass ich es neu erfinden möchte.Deswegen Frage ich ja hier vielen lieben dank



  • Also habe mal so angefangen:

    #include <iostream>
    #include <string>
    #include <boost/iostreams/device/mapped_file.hpp>
    
    using namespace std;
    using namespace boost;
    namespace io = boost::iostreams;
    int main()
    {
        io::mapped_file_source myMap("test.txt");
        io::stream<io::mapped_file_source> input(myMap);
        std::string line;
        while(std::getline(input, line))
        {
            std::cout << "Line: " << line << std::endl;
        }
        int zu(0);
    }
    

    Allerdings meckert der compiler folgende Zeile an:

    io::stream<io::mapped_file_source> input(myMap);
    

    ......main.cpp|12|error: wrong number of template arguments (1, should be 3)|

    Habe auch schon in der Docu geschaut soweit ich das sehen konnte wird des so benutzt, aber bei mir gehts net, übersehe ich etwas????


  • Mod

    Und wenn du noch #include <boost/iostreams/stream.hpp> machst?



  • Jo ;o)) o ist die Kafeekasse ohh mann ok schon gut...;o)))



  • Aber ein Problem habe ich trotzdem, wenn ich das Programm ausführe zeigt sich mein cmdFenster, ja der bleibt dann so und nix tut sich. Wenn ich jetzt Zeile 11 anspringe im Debugger und weiter im Einzelschritt fortfahre, dann bleibt er hängen glaube ich, also mir scheint es so dass er beim erstellen des Objektes ein Problem hat, ich kriege aber keinerlei feedback. Das Programm kompiliert fehlerfrei...


Anmelden zum Antworten