إرسال البيانات بين Java إلى c++ على النوافذ؟

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

  •  07-07-2019
  •  | 
  •  

سؤال

أرغب في إرسال المخزن المؤقت للصوت الخام إلى c++ لتحويل ترميز الصوت.لدي خياران

  1. باستخدام تيار الأنابيب
    • باستخدام المخازن المؤقتة المباشرة (Java.nio)

هل هذان حقًا أفضل خيارين لدي (وأيهما سيوصي الناس به؟) شكرًا!

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

المحلول

من المؤكد تقريبًا أن المخازن المؤقتة المباشرة في NIO سيكون لها أداء أفضل.هذه هي الحالة المثالية إلى حد كبير للمخازن المؤقتة المباشرة.

لست متأكدًا من الهدف من سؤالك - إذا كنت تريد معرفة ما إذا كانت هناك خيارات أخرى، فمن المؤكد أن الإجابة موجودة (يمكنك، على سبيل المثال، الكتابة إلى ملف ثم استدعاء تطبيق خارجي لمعالجته - أو يمكنك استخدام JNI بدون مخازن مؤقتة مباشرة).ولكن إذا كنت تريد واجهة مقترنة بإحكام وعالية الأداء بين كود Java وC++، فستكون JNI جنبًا إلى جنب مع المخازن المؤقتة المباشرة هي الأداة التي يجب استخدامها.

نصائح أخرى

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

يمكنك استخدام مآخذ التوصيل (التي تقبل الاتصال من المستوى المحلي) ولكن ذلك سيكون أكثر فعالية على أنظمة *nix على ما أعتقد.

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

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