جميل جدا أن نرى استخدام مثل هذه الفئات الجديدة خصوصا وان هده الفئات كانت ولا تزال حكرا على مبرمجي الدوت نت ..
لقد سبق وقمت بوضع موضوع في مدونتي يتحدث عن هده الفئة (استخدام الفئة TStringBuilder )
إقتباس :لكن لا حظت ان الدلفي اسرع عند التحويل رغم اني حولت السورس الى نفس الكود بلغة السي++
أعتقد أن السبب راجع الى التغليف .. فكما يعلم الجميع أن مكتبة ال vcl & و الكلاسس الخاصة ب C++ Builder مكتوبة بالباسكال وحتى تتمكن من استخدامها فلازم يكون هناك تغليف لهده الأخيرة بلغة السي ++ ,-الكلاس TStringBuilder يحتوي على الكثير من الدوال .. كلها تم تغليفها - لدلك فمسألة التغليف لا يمكن تجاهلها
عندما تقوم بانشاء برنامج بالسي ++ بويلدر فسيتم ربطه بالباكج الخاص بدلفي مثل ال vcl
لقد سبق ووعدت شركة codegear / EMB باعادة كتابة منصة ال vcl ب السي ++ .. لكن لا أعتقد انها ستفي بوعدها .. فهدا الامر سيستغرق الكثير و الكثير من وقتها ..
على كل حال الخيار الأمثل في مثل هده الحالات هو استخدام مكتبات ال dll المبرمجة بدلفي في برامج ال سي ++ بويلدر
بمقارنة @1 مع @2 نلاحظ أن هناك تعليمتين اضافيتين قبل عرض الرسالة
PHP كود :
PUSH EBP MOV EBP,ESP
وتعليميتن عند النهاية :
PHP كود :
POP EBP RETN
للأسف فأنا لم أستطع دراسة مثالك لأني أسخدم CBuilder 2007 & Delphi XE3
يعني يمكنني تجربته فقط على دلفي
هناك شيئ آخر عند المقارنة : يجب أن تكون كلتا النسختين من نفس الصنف .. يعني
Delphi Debug vs c++Debug
or
Delphi Release vs c++ Release
هناك عامل آخر
دلفي يستخدم Object Pascal Runtime Library فقط
أما CBuilder فيستخدم C++ Runtime Library & Object Pascal Runtime Library وهذا يفسر حجم تطبيق فارغ ب السي ++ بويلدر مقارنة مع دلفي لنفس التطبيق
إقتباس :دلفي يستخدم Object Pascal Runtime Library فقط
أما CBuilder فيستخدم C++ Runtime Library & Object Pascal Runtime Library وهذا يفسر حجم تطبيق فارغ ب السي ++ بويلدر مقارنة مع دلفي لنفس التطبيق
بار ك الله فيك أخي SMP3
هل تقصد ان حجم تطبق دلفي أصغر من سي++ بويلدر
بالنسبة لدلفي XE و س++ XE
فان تطبيق دلفي Release حجمه 896 كيلوبايت
وسي ++ Release حجمه 122 كيلوبايت
هدا فقط في تطبيق فارغ
انا لاحظت من س++ بويلدر يعطي حجما أقل رغم اعتماده على VCL كدلفي