سؤال

سأجعل هذا قصيرًا وإلى هذه النقطة. تم تجريد كتلة _asm بالكامل عند إنشاء رمز 64 بت في Visual Studio. سؤالي هو ، أين يمكنني العثور على بعض المعلومات حول كيفية استخدام التجميع في بعض التعليمات البرمجية التي يمكنني الاتصال بها من مشروعي. مثل ملف التجميع ، أفترض أن لديها بعض الوظائف "المحسّنة" التي يمكنني الاتصال بها مباشرة في مصدر C ++ الخاص بي.

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

المحلول

أحد النهج هو كتابة قالب C لوظيفة التجميع الخاصة بك ، ثم استخدم /FAs لإنشاء مصدر المجمع لهذا قالب الوظيفة. يجب أن تكون قادرًا بعد ذلك على استخدام مصدر المجمع الذي تم إنشاؤه بدلاً من مصدر القالب C والبناء من هناك. وبهذه الطريقة ، تعتني بكل الأشياء الفوضوية التي تعرضها ABI بشكل تلقائي.

نصائح أخرى

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

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