سؤال

أمس تعلمت أن الجمعية المضمنة (مع الكلمة الأساسية __asm) غير معتمدة ضمن Microsoft Visual C ++ عند تجميع أهداف AMD64 و Itanium.

هل هذا صحيح؟ وإذا كان الأمر كذلك، فإن أي شخص يعرف لماذا لن يدعموا الجمعية المضمنة لأهداف هذه الأهداف؟ يبدو وكأنه ميزة كبيرة إلى حد ما فقط إسقاط ...

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

المحلول

صحيح، لا يزال غير مدعوم في vs 2010 بيتا 1. وبعد تخميني هو أن الجمعية المضمنة من الصعب للغاية تنفيذها: الطريقة التي تنفذها Microsoft، تدمج مع رمز C المحيط بحيث يمكن أن تدفق البيانات داخل وخارج رمز C، يتم حقن رمز الغراء المناسب تلقائيا. لذلك، يحتاج مترجم C فعلا إلى فهم رمز المجمع؛ لم ينفذوا ذلك فقط من أجل AMD64 و ITANIUM.

نصائح أخرى

يبدو وكأنه ميزة كبيرة إلى حد ما فقط إسقاط ...

من السهل جدا استدعاء وظيفة مكتوبة مع مجمع، طالما كنت تتبع اتفاقيات C. هذا البرنامج التعليمي يشرح كيف.

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