تحتاج إلى الحصول على أسماء ملفات .OBJ من القابلة للتنفيذ (أي واحد يتم تنفيذه بشكل عام) في وقت التشغيل برمجيًا في VC ++؟
-
24-09-2019 - |
سؤال
لنفترض أن لدي مشروع VC ++ يحتوي على عدد من ملفات المصدر (.CPP) (على سبيل المثال 5) ، سيقوم بإنشاء ملفات 5 .OBJ (المقابلة لملفات .cpp الخاصة بي وليس جميع طبقات kernel و OS بما في ذلك ملفات .OBJ).
يتضمن مشروعي XYZ_1.CPP ، XYZ_2.CPP ، XYZ_3.CPP ، XYZ_4.CPP ، وسوف يتوافق مع 4 ملفات .OBJS.
كيف يمكنني الحصول على أسماء ملفات 4 .OBJ هذه في وقت التشغيل؟ في وقت التشغيل ، أحتاج إلى التحقق من عدد ملفات OBJ الموجودة وأسمائها.
لا أحتاج إلى كل kernel أو OS Layer .Obj's ، أنا فقط بحاجة إلى .OBJ من .cpp's.
يعتبر،
عثمان
المحلول
ال .obj
أسماء الملفات ليست قياسية. بعض المترجمين القش ينشئون تلك التي تتوافق مع ملفات .CPP ، قد يقوم الآخرون بإنشاء أسماء عشوائية (VC تفعل ذلك فعليًا عند تكوينه مع توليد رمز وقت الارتباط) بينما قد يتخطى الآخرون هذه المرحلة تمامًا.
لذلك لا توجد إجابة محددة جيدًا على سؤالك. وهو المترجم وعلامات التجميع يعتمد.
علاوة على ذلك ، لا توجد طريقة للحصول على هذه المعلومات التي أعرفها.
نصائح أخرى
يبدو أنك بحاجة إلى استخدام Microsoft's dbghelp.dll مكتبة وهم Debug Interface Access SDK.