. «Чистая» сборки может удалить «мертвую древесину», которая может быть оставлена лежащей рядом с предыдущими сборками, неудачными сборками, неполными сборками и другими проблемами сборки.
В общем случае среда IDE или сборка будет включать в себя некоторую форму «чистой» функции, но это может быть неправильно настроено (например, в ручном файле) или может завершиться неудачей (например, промежуточные или результирующие двоичные файлы - только).
После завершения «очистки» убедитесь, что «чистый» преуспел, и весь сгенерированный промежуточный файл (например, автоматический файл makefile) был успешно удален.
Этот процесс можно рассматривать как конечный вариант, но часто является хорошим первым шагом ; особенно если недавно был добавлен код, связанный с ошибкой (локально или из исходного репозитория).
По умолчанию stdout является строковым буферизированным при записи на терминал, полностью буферизованным при записи на любой другой тип потока. Поскольку вы не печатаете новые строки, вывод буферизуется. Вы можете изменить режим буферизации с помощью setbuf()
, заканчивать каждую строку с помощью новой строки или вызывать fflush()
, когда вы хотите, чтобы печать выполнялась с помощью plac.
Это происходит потому, что printf записывает в stdout, который, случается, буферизуется. Подробнее см. Здесь .
Добавить fflush (stdout) после каждого printf. Ваш выход мал и остается в буфере до выхода прогамы.