Gemeinsame Karte mit boost::interprocess

Habe ich eine einfache Anforderung, die möglicherweise schwer zu lösen. Ich habe einige führt wie diese oder diese aber ich kann nicht scheinen, um readilly Sie verwenden. Die erstere nicht selbst übersetzen, in baubare code für mich. Ich bin nicht erfahren mit Boost, um nur dies Schreibe, auf meine eigene, aber es scheint mir, könnte dies eine häufige Anforderung.

Habe ich auch stoßen Der STL-Map aber ich habe noch nicht in der Lage gewesen, es zu montieren, die in funktionierenden code.

Ich bin am überlegen boost::interprocess ist der Weg hier zu gehen, es sei denn, ich will schaffen, shared memory map von Grund auf neu.

Ich bin nicht besorgt, mit der Portabilität. Ich brauche eine Lösung, die die Arbeit mit MS-compiler, speziell die eine, die kommt mit VS 2010.

Dieses poster zu wollen scheint mehr oder weniger das, was ich versuche zu tun, außer ich brauche die Karte eine GUID an, die eine beliebige Länge Binär-Puffer (aber einen int zu string ist ebenso gut als Ausgangspunkt). Leider kann ich nicht kompilieren, den code sauber zu beginnen, auch mit Experimenten.

Auch ich habe zwei Bedenken: A) ist es möglich, automatisch (oder zumindest vorhersehbar) vergrößern/verkleinern des freigegebenen Speicher für die Allokation muss und B) angenommen, ein Prozess wird die Karte, wie kann ein anderes Verfahren "Anhängen", um es?

Ich habe nichts dagegen, wenn eine Lösung erfordert mehrere gemeinsame "Segmente", um die Zuweisung muss. Es muss nicht unbedingt eine einzelne monolithische gemeinsamen Speicherblock.

Jede Hilfe wird sehr geschätzt.

  • Ja, boost::interprocess::map sollte Ihnen nur, was Sie brauchen.
InformationsquelleAutor wpfwannabe | 2012-09-13
Schreibe einen Kommentar