سؤال

لقد قمت بإنشاء مشروع صغير باستخدام Steel Bank Common Lisp وأستخدم ASDF لتجميعه وتحميله.أمر التحميل هو:

(asdf:load-system :<my-system>)

كل شيء يعمل بشكل جيد (يتم تجميع البرنامج وتشغيله بشكل جيد) ولكني أستمر في الحصول على الإخراج مثل

; compiling file "[...].lisp" (written 13 APR 2014 06:20:03 PM):
; compiling (DEFPACKAGE :<my-package> ...)
; compiling (DEFUN <my-func-1> ...)
; compiling (DEFUN <my-func-2> ...)
; compiling (DEFUN <my-func-3> ...)

في كل مرة يتم إعادة ترجمة البرنامج.

أفترض أن هذا الإخراج يأتي من asdf لأنني أستدعي التطبيق مع

sbcl --noinform --noprint --script runner_sbcl.lisp

أين runner_sbcl.lisp يقوم بتحميل التطبيق الفعلي عبر asdf:load-system.لذلك أفترض أن هذا المخرج لا يأتي من sbcl.

هل هناك أي طريقة لتعطيل إخراج وحدة التحكم في asdf:load-system؟أرغب في أن يتم إخطاري فقط بشأن أخطاء/تحذيرات التجميع.لم أتمكن من العثور على أي معلومات في الوثائق.

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

المحلول

ماذا عن

(setf *load-verbose* nil)
(setf *load-print* nil)
(setf *compile-verbose* nil)
(setf *compile-print* nil)

?

لماذا تم تعيينهم، على أية حال؟

نصائح أخرى

هذا هو الحل البديل لمشكلة مماثلة واجهتني مع ql:quickload الخاص بـ Quicklisp.

(with-output-to-string (*standard-output*)
  ;; asdf:load-system or ql:quickload..
  (asdf:load-system :<your-system>))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top