سؤال

موقع شامل إلى حد ما يشرح الصعوبات والحلول التي ينطوي عليها استخدام ملف dll مكتوب بلغة c/c++ وتحويل ملف الرأس .h إلى delphi/pascal تم نشره على قائمة بريدية كنت عليها مؤخرًا، لذا فكرت في المشاركة ذلك، ودعوة الآخرين لنشر موارد أخرى مفيدة لذلك، سواء كانت روابط أو أدوات تحويل أو عناوين كتب/أبحاث.

من فضلك، مورد واحد لكل إجابة، لذلك سنحصل في النهاية على الموارد الأكثر شيوعًا/الأفضل التي تتصاعد إلى الأعلى.

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

المحلول

في أكثر من ركن رودي دلفي, ، لديه مقالة ممتازة حول مخاطر تحويل C/C++ إلى دلفي.في رأيي، هذه معلومات أساسية عند محاولة هذه المهمة.هنا هو الوصف:

هذه المقالة مخصصة لكل من يحتاج إلى ترجمة رؤوس C/C ++ إلى Delphi.أريد مشاركة بعض المزالق التي يمكنك مواجهتها عند التحويل من C أو C ++.هذه المقالة ليست برنامجًا تعليميًا ، بل مجرد مناقشة لحالات المشكلات التي تمت مواجهتها بشكل متكرر.ويهدف إلى المبتدئين وكذلك للمترجم الأكثر خبرة من C و C ++.

كما كتب "حزمة مساعد التحويل" الذي يتم تثبيته في Delphi IDE الذي يساعد في تحويل كود C/C++ إلى Delphi:

alt text
(مصدر: rvelthuis.de)

وتشمل مقالاته الأخرى ذات الصلة بهذا الموضوع ما يلي:

نصائح أخرى

شرط في ركن رودي دلفي

كما تستضيف CodeGear أداة ترجمة بدائية تسمى CToPas (كتبه أورال جونايدين).

أود أن أسلط الضوء على مكتبة جدي أبي, إنها ترجمة دلفي لرؤوس Windows SDK.قد يوفر عليك الكثير من العمل إذا كنت بحاجة إلى ترجمة الرؤوس من SDK وهي بالطبع عينة جيدة من التحويلات!

نظرًا لأن FreePascal يهدف إلى توافق دلفي من بين أشياء أخرى، أعتقد أن H2Pas قد يكون مفيدًا أيضًا.

https://www.freepascal.org/tools/h2pas.var

HeadConv من DrBob يُستخدم كثيرًا أيضًا، على الرغم من أنني أتفق مع Graza على أن الترجمة اليدوية هي الأفضل.

استخدم هذا الخيار بحيث تكون محاذاة البايت هي نفس محاذاة C/C++ ومن ثم لن تحتاج إلى إضافة بايتات الحشو في البنيات.

{$MINENUMSIZE 4}

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