أي شخص يحصل على وعاء الذاكرة المشتركة جيدة لC ++؟

StackOverflow https://stackoverflow.com/questions/262714

  •  06-07-2019
  •  | 
  •  

سؤال

ولقد كان لفترة طويلة رغبة في وعاء STLish أن أتمكن من وضع إلى شريحة الذاكرة المشتركة أو ملف تعيين الذاكرة.

ولقد فكرت في استخدام مخصص العرف وموضع جديد لوضع حاوية STL العادية إلى شريحة الذاكرة المشتركة. (مثل هذا DDJ المقالة ). والمشكلة هي أن الحاويات STL سيكون داخليا المؤشرات إلى الذاكرة التي يمتلكونها. لذلك، إذا كان مقطع الذاكرة المشتركة أو ذاكرة تعيين الأحمال الملف في عنوان أساسي مختلف (ربما على تشغيل لاحقة، أو في العملية الثانية)، ثم مؤشرات داخلية غير صالحة فجأة. بقدر ما أستطيع معرفة، ونهج مخصص مخصص يعمل فقط إذا كان يمكنك تعيين دائما شريحة الذاكرة في عملية الخاص بك في نفس العنوان. على الأقل مع ملفات الذاكرة المعينة، ولدي الكثير من الخبرة من أن NOT هو الحال إذا كنت مجرد السماح خريطة النظام الذي أي وقت مضى حيث بدا الامر وكأننا.

ولقد كان بعض الأفكار حول كيفية القيام بذلك، ولكن أود أن تجنب ذلك إذا كان شخص آخر قد سبق العمل (وهذا لي، كسولا).

وأنا مغادرة حاليا تأمين من المناقشة، حيث أن أفضل استراتيجية هي تأمين درجة عالية من تطبيق يعتمد.

هل كانت مفيدة؟

المحلول

وأفضل نقطة انطلاق لهذا هو على الارجح المكتبات دفعة بين العمليات. لديهم خير مثال على خريطة في الذاكرة المشتركة هنا: بين العمليات خريطة

وأنت من المحتمل أيضا ترغب في قراءة القسم على مؤشرات الذكية الإزاحة، الذي يحل المشكلة المؤشر الداخلية كنت في اشارة الى. إزاحة مؤشر

نصائح أخرى

وأنت قد تحتاج أيضا إلى الخروج في إنتل خيوط بناء كتل (TBB) حاويات .

وكان دائما تجارب جيدة (قبل سنوات) مع ACE . في إطار التواصل / الاتصال، ولكن لديها قسم على الذاكرة المشتركة.

وأنا أعرف فقط من الإصدارات الملكية. بلومبرغ و <لأ href = "http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html" يختلط = "نوفولو noreferrer"> EA على حد سواء نشرت حول الإصدارات STL، ولكن طعاما صدر (على حد علمي) ثمار عملهم.

وحاول استخدام تنفيذ QSharedMemory كيو تي في.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top