Announcement

Collapse
No announcement yet.

Memory Mapped Files

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Memory Mapped Files

    Hi!
    Und zwar soll ich mich mit Memory Mapped Files beschäftigen.
    Es gab ja in .NET Framework 4 Änderungen in den Basisklassenbibliotheken.
    Unter dem Namespace System::IO::MemoryMappedFiles hat man z.B. die Möglichkeit ein File zu erzeugen. Assembly: System.Core.dll.

    Jetzt hab ich .NET Framework 4 installiert und wollte einen Verweis auf System.Core.dll hinzufügen. Aber unter dem Register .NET taucht die Version 4 überhaupt nicht auf!
    Nur die Versionen 2 und 3.5!

    Wie kann ich nun einen Verweis hinzufügen um dies zu verwenden?

    Vielen Dank!

    Mit freundlichen Grüßen

    FredFesl

  • #2
    NET oder C++?

    Verschoben
    Christian

    Comment


    • #3
      Naja C++!

      Comment


      • #4
        Wie kann ich nun einen Verweis hinzufügen um dies zu verwenden?
        Visual Studio 2010 installieren. Mit einem vorherigen Studio wirst du Probleme bekommen da die eben auf andere Frameworks getrimmt sind. Du wirst es vielleicht irgendwie hinbekommen aber nur auf einem Weg der dir Visual Studio in ein etwas besseres Notepad verwandelt da du die meisten IDE Features(die verschiedenen Designer, Refactorings etc.) nicht gegen das 4er Framework verwenden kannst.

        Comment


        • #5
          Schlecht!
          Kennt ihr dann vl ne andere Möglichkeit mit MemoryMappedFiles zu arbeiten!
          Habt ihr da schon Erfahrungen?

          Comment


          • #6
            Kennt ihr dann vl ne andere Möglichkeit mit MemoryMappedFiles zu arbeiten!
            Die Windows API für Memory Mapped Files direkt verwenden. Da du ja scheinbar C++/CLI verwenden willst gibt es auch keinen Grund an der Stelle .Net erzwingen zu wollen.

            Comment


            • #7
              Habs jetzt mal mit Createfilemapiing versucht:

              Mein Problem ist das aber nichts reingeschrieben wird und da k immer False is?
              Was mach ich falsch?

              char *test;
              test = "Hallo Test!";

              HANDLE hfile;

              hfile = CreateFileMapping(
              (HANDLE) 0xFFFFFFFF,
              NULL,
              PAGE_READWRITE,
              0,
              sizeof(test),
              "MeinFile");

              if (hfile == NULL)
              cout<<"Fehler"<<endl;

              HANDLE hmappedfile;

              hmappedfile = MapViewOfFile(
              hfile,
              FILE_MAP_WRITE,
              0,
              0,
              0);


              unsigned long *writtenBytes;
              bool k = WriteFile(hmappedfile,test,strlen(test),writtenByt es,NULL);

              cout<<k<<endl;

              Comment


              • #8
                Da wir gerade jeden .NET Teil raus diskutiert haben sollte der Thread jetzt eher (wieder?) im C++ spezifischen Forum weitergeführt werden. Da wird man dir wahrscheinlich eher helfen können.

                Comment


                • #9
                  Jo stimmt. Mach ich doch gleich mal.

                  Comment

                  Working...
                  X