|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Valentin Nechayev 2:5020/400 08 Oct 2001 18:16:51 To : Sergey Kubushin Subject : несусветное поведение clock() -------------------------------------------------------------------------------- >>> Sergey Kubushin wrote: > > >> while (1) { > > >> sleep(1); > > >> t = clock(); > > >> printf("%i\n",t); > > >> } > Потому что sleep() не возвращает значения. А соптимизировал он не clock(), а > оператор присваивания, повторяющийся в цикле. Вызов функции ни на какие мысли не наводит? > Это достаточно частая ошибка (например, при определенной оптимизации не > будет работать цикл, читающий что-то из памяти и проверяющий не изменилось > ли значение). Hо здесь таки да, может быть и то, что просто процессор ничего > не наработал, поэтому clock() действительно возвращает одинаковое значение. > Хотя это и не освобождает от необходимости использования модификатора > volatile - одна и та же программа может работать по-разному в зависимости от > цифирки после -O, от наличия -g и т.п. Использование volatile позволяет > этого избежать. Бред, по крайней мере применительно к данному случаю. /netch --- ifmail v.2.15dev5 * Origin: unknown (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/24752b8cd4394.html, оценка из 5, голосов 10
|