ما هو الرقم 16 في رمز DLL _foobar @ 16 يمثل؟
سؤال
ماذا الرقم 16 في رمز DLL _FooBar@16
تركيز؟
المحلول
هذا يعني أن _foobar هي وظيفة __stdcall تستغرق 16 بايت من المعلمات.
يتم وصف اتفاقيات الدعوة 32 بت على X86 هنا: http://blogs.msdn.com/oldnewghing/archive/2004/01/08/48616.aspx.
نصائح أخرى
هذا هو الاسم العام المشاهير وتعتمد على اتفاقية الاتصال الوظيفة.
يتم توثيق الاتفاقيات المتصلحة المختلفة واسم المشاهير المطبقة على الوظائف حجة تمر واتفاقيات تسمية. وبعد سيتعين عليك النقر فوق الروابط الفردية لمعرفة المزامنة الدقيقة المطبقة.
في حالتك، لديك __stdcall
الاتفاقية التي تستخدم اتفاقية التسمية التالية:
underscore (_) مسبقين بالاسم. يتبع الاسم في علامة (@) متبوعا بعدد البايتات (في عشري) في قائمة الوسائط. لذلك، تم تصميم الوظيفة المعلنة باسم Int Func (Int A، Double B) على النحو التالي: _func @ 12