Bufferprogrammierung



  • Hallo,

    ich habe ein Problem in Bezug auf Programmierung mit Buffern.

    Ich möchte nacheinander mehrere Daten aufnehmen, dabei sollen die Daten in einen Bereich des Buffers geschrieben werden. Wenn dieser Bereich voll ist, dann soll das an die oberliegende API gegeben werden und die API soll die Daten des Bufferbereiches benutzen, dabei soll aber der Buffer nicht erneut gefüllt werden, sondern erst wenn die API die Datei komplett übernommen hat, dann soll der Buffer wieder freigegeben werden.

    Kann mir jemand die Grundlagen zur Bufferprogrammierung erklären und vielleicht einen Lösungsansatz für mein Problem bringen?

    Ich habe bereits eine Bufferstruktur:

    typedef struct Buffer_tag
    {
     LONG Buffervoll;
     lbufFrameBuffer_t* Buffer;
    }Buffer_t;
    

    Nun müsste ich den Buffer aber noch allokieren, dafür würde ich diese Funktion nehmen:

    lbufAllocBuffer(Width, Height, Format, &Buffer);
    


  • Am beste ist du probierst es selbst einmal selbst(besserer Lerneffekt) und wenn dann der compiler nicht will oder in de laufzeit was nicht stimmt. Kannst du dein problem vieleicht besser beschreiben und dann werden wir dir sicher helfen

    mfg



  • Meinst du etwa ich hätte hier gepostet, wenn ich nicht bereits den ganzen Tag über diesem Problem gesessen hätte? Ich glaube eher nicht.

    Ich verstehe die komplette Programmierung von buffer-Strukturen nicht. Wie ich einen Buffer initalisiere, allokiere, sperre & wieder freigebe.



  • C++Neuling schrieb:

    Meinst du etwa ich hätte hier gepostet, wenn ich nicht bereits den ganzen Tag über diesem Problem gesessen hätte? Ich glaube eher nicht.

    Ich verstehe die komplette Programmierung von buffer-Strukturen nicht. Wie ich einen Buffer initalisiere, allokiere, sperre & wieder freigebe.

    Da gibts auch keine Standardlösung. Aber viele Dokumente im Netz 😉



  • Also ich hab mir mal die PDFs von der Homepage hier herunter geladen, doch da stand dazu nichts drin!

    Aber danke für diese nette Hilfe!


Anmelden zum Antworten