سؤال

في شركتي نستخدمها .def الملفات لتحديد الرموز التي تحتاج إلى تصدير. (أتمنى أن أتمكن من استخدام تقنية أكثر حداثة وأتمتة ، لسوء الحظ ، الرجال الذين يقررون العيش في الثمانينات).

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

ومع ذلك ، أحتاج إلى كتابة مماثلة .def ملف للحصول على إصدار 64 بت من DLL. تم تغيير اسم زخرفة العديد من الوظائف وأتساءل عما إذا كانت هناك طريقة لإنشاء ملف .def ملف للحصول على إصدار 64 بت من إصدار 32 بت.

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

شكرًا لك.

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

المحلول

من المحتمل أن أكون قد __declspec (dllexport) الرموز التي أردتها ، وتجميعها ، ثم قم بتشغيل Dumpbin /Exports على DLL الناتجة للحصول على أسماء مشوهة ، ثم يمكنك إزالة __declspec وصنع ملف .def.

نصائح أخرى

أخبر رئيسك أن تعود إلى الثمانينيات. على محمل الجد ، هذه ليست طريقة محمولة لتصدير أسماء الرموز. ماذا لو قام برنامج التحويل البرمجي C ++ بتغيير نظام Millgling اسم؟ ثم يجب عليك القيام بذلك (ما قاله Jcopenha) مرة أخرى. ماذا لو كنت لا تعمل هناك عندما يحدث ذلك؟ هل سيتعين على الروح الفقيرة الأخرى قضاء وقت ثمين لمعرفة ماذا وكيف تفعل ذلك؟ سأحاول إقناع الرئيس بالاستخدام __declspec(dllexport). سيوفر الوقت الآن ، وربما الوقت في المستقبل.

أفترض أنك تصدر الفصول والوظائف المحملة. إذا لم تكن كذلك ، فسأصدر الوظائف بأسماء C بدلاً من ذلك. هذه الأسماء ليست مشوهة ، ولن تتغير.

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