سؤال

إذا كان لديّ مصدر مكتبة مكتوب في C/C ++ (دعنا نقول libxml2) ، الآن أود أن أنشئها ، وربطها في تطبيق Delphi ... أعرف أنه ممكن ، لأن Delphi Zlib يفعل ذلك ( http://www.dellapasqua.com/delphizlib/ ) ... لكن سؤالي هو ، كيف أقوم بإعداد ملفات .OBJ؟

شكرا مقدما م.

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

المحلول

ستحتاج إلى استخدام برنامج التحويل البرمجي C ++ الخاص بـ CodeGear لإنتاج ملفات OBJ متوافقة لـ Delphi. هل يأتي دلفي الخاص بك مع منشئ C ++؟ وإلا يمكنك تجربة إصدار سطر القيادة المجاني (بورلاند). اقرأ المزيد عن هذا الموضوع هنا.

نصائح أخرى

إذا قمت بإنشاء DLL تلتزم بواجهة C Application Binary (ABI) ، فيمكنك الارتباط ديناميكيًا إما من A C ++ أو تطبيق Delphi.

من المستحسن أن تفعل ما يلي:

  1. استخدم رمز نمط C أو C فقط ، وقم بإعطاء لنفسك وتطويق الوحدة مع

#ifdef __cplusplus
extern "C"
{
//header file
}
#endif //__cplusplus

هذا يضمن أن الرمز يجمع في C abi

  1. من المستحسن جعل الوظائف __stdCall

  2. تجميع الوظيفة كـ DLL

من هنا ، يجب أن تكون قادرًا على الارتباط بـ DLL بالطريقة نفسها التي يمكن أن ترتبط بها Delphi إلى أي Windows DLL. (لا أستطيع أن أتذكر ما يجب القيام به من جانب دلفي)

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