مشكلة في استخدام SDCC في Makefile أثناء خطوة الارتباط

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

سؤال

سيقوم برنامج التحويل البرمجي C صغير (SDCC) بإنتاج ملف IHX (Hex) IHX (Intel Hex) حتى إذا كانت هناك أخطاء مرجعية غير محددة أثناء خطوة الارتباط. يؤدي هذا السلوك إلى مشاكل عند استخدام SDCC في MICFILE لأنه إذا قمت بتعيين ملف IHX ليكون هدفك الخاص بك، فلن يكون لديك طريقة جيدة لمعرفة أن المحاولة السابقة في الارتباط قد فشلت.

هل هناك طريقة لإخبار SDCC بقمع إخراج IHX عندما يكون هناك مرجع غير محدد أثناء الارتباط؟ إذا لم يكن الأمر كذلك، فما هو أفضل الحل البديل؟ (فكرت بالفعل في واحد).

أيضا، أنا مهتم لماذا تم تصميم SDCC بهذه الطريقة إذا كان أي شخص يعرف.

إليك مثال على المشكلة:

لديك ملف يسمى Test.C الذي يستدعي وظيفة غير محددة:

giveacodicetagpre.

لديك makefile بسيط لبناء اختبار .hx من test.c:

giveacodicetagpre.

تحاول ترجمة Test.c لأول مرة ويفشل:

giveacodicetagpre.

حاول إصلاح المشكلة عن طريق تغيير شيء ليس اعتمادا من IHX (مثل Makefile)، وحاول ترجمة مرة أخرى:

giveacodicetagpre.

ولكن لا تحاول تجميعها لأن SDCC إنشاء ملف IHX بالفعل.

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

المحلول

أنا لا أعرف أي شيء عن SDCC، لذلك أنا آسف لأنني لا أستطيع الإجابة على أسئلتك المتعلقة بما إذا كان يمكن إخراج الإخراج أو لماذا تم تصميم SDCC بهذه الطريقة.

يمكنني التفكير في العمل حول العمل: إعادة تسمية ملف IHX بعد بناء ناجح، واستخدم الاسم الجديد كهدف جعل.

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