كيف يمكنني نقل الكود الخاص بـ Borland C++ builder إلى Linux؟

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

  •  22-08-2019
  •  | 
  •  

سؤال

لدي كود مصدر لملف Windows DLL مكتوب بلغة C++ ويستخدم مكتبة المكونات المرئية.مهمتي الآن هي نقل ذلك إلى Linux، لكن ليس لدي كود مصدر لـ VCL نفسه، أو أي نوع من الوثائق (ولم أعمل مطلقًا مع Borland C++؛في أيام Windows كنت أستخدم MFC).

لا ينبغي أن يكون هذا الأمر بهذه الصعوبة، نظرًا لأن ملف DLL الخاص بي لا يحتوي على أي واجهة مستخدم رسومية:بقدر ما أستطيع أن أرى، فإنه يستخدم في الغالب VCL لتعدد مؤشرات الترابط.لقد واجهت فصلًا يرث من TThread وهذا هو المكان الذي تعثرت فيه.لقد قمت ببعض البحث على الإنترنت، لكن لم أجد أي وثائق لـ VCL حتى الآن.أود تجنب شراء كتاب عن Borland C++ Builder، لأنه ليس لدي الوقت لانتظار وصوله من Amazon.لا أستطيع أن أفكر في شراء الحزمة لنظام التشغيل Windows، لأنه في العمل ليس لدي سوى جهاز Linux.

أي اقتراحات؟

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

المحلول

تم توثيق VCL على موقع CodeGear على شبكة الإنترنت.تم وصف TThread على وجه الخصوص هنا.

لقد وجدت أن الوثائق المتعلقة بالمكونات المتعلقة بمؤشر الترابط في VCL متناثرة إلى حد ما. هذا الموقع يحتوي على وصف أفضل بكثير لنهج دلفي/VCL للترابط.

نصائح أخرى

والمكتبات دفعة، وكويدغيتس، سيوفر النظير إلى الطبقات VCL.

ويجب عليك أن تدرك أن VCL المستخدمة من قبل ++ C باني هو مكتوب تماما في دلفي / أوبجكت باسكال. ج ++ تطبيقات باني جميع تنطوي ج ++ الاستفادة من المكتبات على أساس دلفي.

وهذا المشروع مفتوح المصدر فري باسكال / عازر قد عكس هندستها معظم VCL (كلها تقريبا من الاشياء غير المرئية والكثير من الاشياء البصرية) وتشغيله أصلا على لينكس. ومن المعروف أن غير المرئي الاشياء VCL-متوافق باسم "مكتبة مكون الحرة" ( "FCL") http://www.freepascal.org/ http://www.freepascal.org/fcl/fcl.var

ويجب أن يكون مصدرا للتنفيذ TThread في FCL السهل بما فيه الكفاية العثور عليها.

وخيار واحد يتمثل في إعادة كتابة في فري باسكال، حيث ستتغير لغة أوبجكت باسكال ولكن يدعو إلى VCL واستخدام مكونات VCL ستكون متطابقة تقريبا.

وربما يكون هناك خيار آخر للميناء إلى c ++ على لينكس وعلى نحو الاستفادة من VCL فري باسكال من ج ++. لست متأكدا من التطبيق العملي / الجدوى من ذلك. وينبغي أن يكون شخص ما في المحافل فري باسكال قادرين على مساعدة في الإجابة على ذلك.

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

ويمكنك تنزيل ومحاولة تجريب ذلك. يجب أن يكون من الممكن تشغيله تحت WINE على الأقل. ربما حتى في ظل فري.

يجب أن يكون متصلا الطبقة TThread في دلفي / Kylix. هذا هو بديل آخر لاستكشاف ذلك. أعتقد أن أهم الطرق تم تشغيل () والمزامنة () ولكن انها كانت العصور منذ كنت عليه.

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

منذ عدة سنوات مضت، أصدر بورلاند نسخة من بيئة التطوير المتكاملة (IDE) الخاصة بهم لنظام التشغيل Linux، وتم تسويقها على أنها كيليكس.لست متأكدًا مما إذا كان لا يزال مدعومًا، ولكن قد يكون هذا هو المسار الأقل مقاومة بالنسبة لك.

وهناك العديد من المكتبات التي توفر الأطر مثل خيوط مثل دفعة (www.boost.org) أو ACE ( HTTP: //www.cs. wustl.edu/~schmidt/ACE.html )

ويجب أن يكون من السهل إلى حد ما إلى ميناء التعليمات البرمجية لاستخدام واحدة من هذه البنى التحتية خيوط.

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