كيف يمكنني معرفة ما إذا كان قابل للتنفيذ مرتبطا تدريجيا أم لا؟

StackOverflow https://stackoverflow.com/questions/1093258

سؤال

أحاول استخدام تنقية 6 لتحليل تلف الذاكرة في إحدى الملفات التنفيذية التي تم بناؤها باستخدام VC ++ 2003 (7.1).

عندما أقوم بأداة ثنائي مع الأمر:

purify /Replace=yes /Run=no myprog.exe

إحباط الأجهزة تخبرني أن التنفيذ مرتبط تدريجيا. في حيرة، راجعت خيارات البناء ولكن /INCREMENTAL:NO كان هناك. بالتأكيد، أعيد بناؤه وتم تمرير الخيار بشكل صحيح في وقت الارتباط.

هل هناك طريقة لمعرفة ما إذا كان قابل للتنفيذ مرتبطا تدريجيا أم لا؟

كان لي نظرة على ماذا dumpbin /HEADERS يقول ولكن لم ير أي شيء مناسب.

شكرا.

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

المحلول

الخيار 1:

ج: ...> Dumpbin / ملخص كل ما

ابحث عن قسم ".textbss".

لست متأكدا من أن هذا موثوقة بنسبة 100٪، ولكن في تجربتي تضيف رابط دائما هذا القسم عند القيام بالربط الإضافي.

الخيار 2:

ابحث عن ملف ".LK" بجوار الملف القابل للتنفيذ. يبدو أن Visual Studio جيدة حول تنظيف هذه عند عدم استخدامها، لذلك تعطيل الارتباط الإضافي والبناء (لا حتى "إعادة البناء") يجب إزالته.

الخيار 3:

تمكين إنشاء تسجيل (أدوات / خيارات / مشاريع) وابحث عن "/ تدريجي" أو "/ تدريجي: لا" في ملف Buildlog.html الذي يولد.

الخيار 4:

تحليل ملف .vcproj. (ICK!)

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