سؤال

لقد كنت أطلب من فريقي نقل تطبيق vc6 الخاص بنا إلى vc2005، وهم على استعداد لتخصيص وقت ما للقيام بنفس الشيء. والآن يحتاجون إلى معرفة ما هي ميزة النقل.

لا أعتقد أنهم يفهمون حقًا ما يعنيه الالتزام بالامتثال القياسي.

ساعدني في سرد ​​ميزة القيام بالنقل.

المشكلة التي أواجهها هي

1) لا يوجد دعم لتصحيح الأخطاء للحاويات القياسية

2) غير قادر على استخدام مكتبات التعزيز

3) نحن نستخدم الكثير من عمليات إنشاء الاستعلام ولكننا نستخدم وظيفة تنسيق CString التي ليست آمنة للكتابة

4) يتم قضاء الكثير من الوقت في حل مشكلات vc6 مثل وجود >>

vector<vector<int>>

مع وجود مسافة بين >>

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

المحلول

مزايا:

  • مترجم أكثر توافقًا مع المعايير. يعد هذا أمرًا جيدًا لأنه سيسهل النقل إلى نظام أساسي آخر (إذا كنت تريد القيام بذلك في أي وقت).وهذا يعني أيضًا أنه يمكنك البحث عن الأشياء في المعيار بدلاً من وثائق Microsoft.في النهاية، سيتعين عليك ترقية برنامج التحويل البرمجي الخاص بك في مرحلة ما من هذه الميزة.كلما أسرعت في القيام بذلك، قل العمل.

  • غير مدعوم من قبل MS. SDK الجديد لا يعمل.64 بت لا يعمل.ولا أعتقد أنهم ما زالوا يقومون بإصلاح الأخطاء أيضًا.

  • بيئة تطوير متكاملة أجمل. أنا شخصياً أفضل علامات التبويب على MDI.أعتقد أيضًا أنه من الأسهل بكثير تكوين Visual Studio (إنشاء اختصارات مخصصة، وأشرطة القوائم، وما إلى ذلك).بالطبع هذا شخصي.تحقق من طبعة صريحة ومعرفة ما إذا كنت توافق على ذلك.

  • دعم البرنامج المساعد أفضل. بعض المكونات الإضافية غير متوفرة لـ VC6.

سلبيات:

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

  • أداء أسوأ. إذا كنت تقوم بالتطوير على أجهزة كمبيوتر قديمة جدًا، فقد يكون Visual Studio بطيئًا للغاية.

  • يكلف لقد ألقيت نظرة سريعة ويبدو أن تراخيص Visual Studio أغلى قليلاً من تراخيص VC6.

نصائح أخرى

وماذا VC2005؟ إذا كنت تسير على استثمار الوقت (واختبار!) للترقية من VC6، لماذا لا تستهدف VC2008؟

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

إذا كنت بنشاط بتطوير منتج ثم الميزة الرئيسية هي أن عليك لم يعد من الممكن استعمال منتوج ان أكثر من ثماني سنوات من العمر - التي من الواضح أنها شيء جيد

  • لا تعمل الإصدارات الأحدث من Windows SDK مع VC6 - إذا كنت تريد استخدام أحدث ميزات Windows، فستحتاج إلى مترجم أحدث.
  • يقال أن المترجمين اللاحقين أكثر توافقًا مع المعايير.أنا آسف لأنني لا أستطيع أن أكون أكثر تحديدا.أعلم أن VC6 يُنشئ الكثير من تحذيرات المترجم فقط لاستخدام فئات القوالب القياسية.
  • إذا كنت تستخدم أي مكتبات خارجية تم تجميعها باستخدام مترجم لاحق، فستحتاج إلى استخدام شيء متوافق.

استعد لشيء من التحول القاسي - فأنظمة IDE مختلفة أكثر مما ينبغي.

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

أنا لا أقول أنه لا ينبغي عليك التحول، ولكن خذ نقاطك المحددة:

1) لا يوجد دعم تصحيح للحاويات القياسية

أقوم بتصحيح التعليمات البرمجية باستخدام الحاويات القياسية مع VC++ 6 طوال الوقت.ما هي مشكلتك هنا؟

2) غير قادر على استخدام مكتبات التعزيز

حقيقي.قد تجد أنه يمكنك استخدام بعض الأشياء الأبسط.

3) يتم قضاء الكثير من الوقت في مشكلة في إطلاق مشكلات VC6 مثل وجود >>

[لا أستطيع أن أجعل SO يتوقف عن تشويه هذا، ملحوظة]

مع وجود مسافة بين >>

أم، هذا هو خطأ في بناء الجملة (على الأقل في إصدار C++ الذي يفهمه VC++6) وسيتم وضع علامة عليه على هذا النحو.إذا كان فريقك يقضي "الكثير من الوقت" في هذا النوع من الأمور، فأنت بحاجة إلى فريق آخر.

يحرر:

3) نستخدم الكثير من توليد الاستعلام ولكن نستخدم وظيفة تنسيق Cstring غير الآمنة

سيكون غير آمن من النوع بنفس القدر ضمن VS2005.لا أرى سببًا لهذا السبب للنقل.إذا كنت تريد أمان الكتابة، فاستخدم آليات الإدخال/الإخراج القياسية لـ C++.

إذا فريقك لا يمكن أن نرى أي ميزة وكنت غير قادر على تفسير أي ميزة، لماذا يطلب منهم القيام بذلك؟

ويبدو وكأنه كنت ترقية فقط من أجل ذلك.

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