Загадочно

Nov 21, 2009 02:54

Вот не понимаю я, почему неработающая программа при добавлении в произвольное место строчки printf("\n"); начинает работать, а при удалении снова перестаёт.

/br

Leave a comment

taraslive November 21 2009, 06:28:03 UTC
Ээ, как наверно самый лучший спец по созданию и испраалению ошибок, не могу пройти мимо такого интересного поста. Я постоянно утверждаю, что не бывает мистических ошибок, а есть просто сложные системы и неполное понимание как они работают. Или эффект медузы горгоны.
В общем это достойный экземпляр. Покажи, плз, весь код или на почту пришли.

Reply

titanium_felix November 21 2009, 08:10:47 UTC
Ага, покажи код. И что пишет, когда ошибка?

Reply

marrinne November 21 2009, 21:37:20 UTC
Ничего не пишет, компилируется-то она хорошо, а вот с выполнением что-то странное творилось: просто выдавало чёрный экран, который через некоторое время исчезал, и в файл не записывалось то, что должно было туда записаться.
А сегодня всё стало нормально работать.
Видимо, я схожу с ума. :)

Reply

marrinne November 21 2009, 21:48:58 UTC
Хотя нет, нормально работать не стало.
Ещё время от времени при компиляции выдаёт ошибку:
Permission denied
ld returned 1 exit status
И странная реакция на ничего не нужный printf продолжается.
Где ты хочешь видеть код?

Reply

titanium_felix November 22 2009, 10:18:51 UTC
Можно в комменты, можно на felix111@mail.ru

Reply

marrinne November 21 2009, 21:53:43 UTC
Что такое эффект Медузы Горгоны?
Где показать код? Там 400 строк на два файла.

Reply

taraslive November 22 2009, 06:10:00 UTC
Это моя собственная терминология, как раз пост написал, там есть. Скинь на почту если там не секретные разработки :). Это очень хороший зверь для коллекции. 400 строк это немного, можно и в комментарии.
Пока можно косвенно говорить про кэширование. Результат проги где то подвисает и не отправляется до переноса или до окончания работы. Это если отсальные принты без переноса строк. Но это пока пристрелка что угодно может быть.

Reply

tupolev_154m November 22 2009, 09:00:06 UTC
Что-то мне тоже подсказывает, что тут кэширование выходного потока, которое почему-то не вычищается при выходе. Я бы начал с вставки

fflush(stdout);

после каждого printf-а. Марина, ты завтра собираешься сдавать?

Reply

marrinne November 22 2009, 09:14:46 UTC
Если у кого-нибудь будет с собой ноут, то да. Я даже отчёт уже написала. ;)

Reply

tupolev_154m November 22 2009, 12:08:00 UTC
Будет ;)

Reply

tupolev_154m November 22 2009, 09:00:48 UTC
Эх, не туда ответил ;)

Reply


Leave a comment

Up