У меня возникла проблема с вызовом функции C printf из SBCL через cffi. Проблема в том, что когда я вызываю функцию printf, я не могу найти выходной текст, а только возвращаемое значение функции функции printf на REPL. Но когда я выхожу из SBCL, выходной текст появляется на терминале магически.где текст напечатан C printf
$ sbcl
* (ql:quickload :cffi)
* (cffi:foreign-funcall "printf" :string "hello" :int)
;;=> 5
* (quit)
hello$
последняя строка, «привет $» означает, когда выйти из SBCL, появляется текст «привет» на терминал и с той строкой «$». Итак, где printf печатает текст «привет»?
Я попробовал `finish-output ',` force-output' on * standard-output *, но это не работает.
Обычно выглядит выход в буфер и вам нужно сказать C, чтобы очистить буфер. –