سؤال

لقد وجدت مترجم ل C ++ إلى C #، لكنه لا يعمل. (code2code.net)

اختبار مع cout.

int main(int argc, char** argv)
{
cout << "Hello World";
return 0;
}

النتائج تصبح

public static int Main(string [] argv) 
{ 
cout << "Hello World"; 
return 0; 
} 

سؤالي لك، هو = هل هو أي مترجم آخر يعمل من أجل C ++ إلى C # (لا تحتاج إلى أن تكون حرا)

لا يوجد حل صحيح

نصائح أخرى

أنا لست على علم أي مثل هذا النوع من الترجمة سيكون جدا من الصعب القيام به. تحاول ترجمة التعليمات البرمجية التي تم كتابتها في لغة غير مدارة في لغة تدار. حتى لو كنت قادرا على ترجمة التعليمات البرمجية، فستتفق كل طريقة تقريبا unsafe والتي من شأنها أن تنفي معظم فوائد الانتقال إلى C # في المقام الأول.

يبدو أن هذا فكرة سيئة - يجب أن تفكر في إعادة كتابة التطبيق من الصفر.

ستكون اقتراحاتي هي في البداية استخدام C ++ CLI إلى ميناء عبر رمز C ++ إلى بيئة مدارة. بمجرد العمل في العالم المدار، قم ببناء رمز جديد في C # حوله. إذا كانت هناك مجالات رئيسية من التعليمات البرمجية الموجودة تتغير بنشاط، فكر في التنقل إلى C # في تلك المرحلة.

لا أعتقد أن أي محرك ترجمة ل C ++ -> C # يمكن أن يفعل أكثر من آمنة قليلا من الكتابة على رمز غنيمة (إصلاح بناء الجملة الأساسي) - حيث أن الأطر المستخدمة في C ++ و C # مختلفة بشكل أساسي، وسوف تعمل في مشاكل بمجرد أن يتعامل المترجم للتعامل مع مؤشرات arithmetics والأشياء مثل هذا.

بالنظر إلى بناء الجملة المعقدة من C ++ والأشياء المجنونة التي يمكنك القيام بها (فكر تعزيز) أعتقد أن أي مترجم سوف يركض في مشكلة خطيرة عاجلا أم آجلا. يرى هذه المدونة post. لبعض الاقتراحات البديلة.

Code2code.net تنص صراحة

أنت تقبل أن هذه الصفحة فقط نصف العمل فقط.

...

في معظم الحالات، لن تجميع التعليمات البرمجية المترجمة.

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