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