-
- Ни один языковой механизм не исправит ошибки, допущенные
в консерваториисистемным архитектором. Рэйлвэй Каген(184 знак., 07.10.2010 12:31)- Круто! Т.е. кода мне надо оценить наклон прямой, я не могу тангенс этого наклона хранить в переменной?!!! - POV(07.10.2010 13:52)
- Можно просто использовать структуру вида: Рэйлвэй Каген(967 знак., 07.10.2010 15:43)
- Вот незадача, градусы-то я неправильно пощщитал :) Их 90 там. - Рэйлвэй Каген(07.10.2010 17:52)
- 3. Взять адекватный компилятор с NaN'ами и INF'ами. И не морочить моск. - fk0(07.10.2010 16:01)
- Фтопку такое. А моск матаном кормить надо было вовремя. - Рэйлвэй Каген(07.10.2010 16:38)
- Да... ниасилишь матан, пойдёшь на метан... - fk0(07.10.2010 17:27)
- Фтопку такое. А моск матаном кормить надо было вовремя. - Рэйлвэй Каген(07.10.2010 16:38)
- Я только одну проблему вижу. В libc может отсутствовать поддержка нечисел. Тогда надо писать обработку таких ситуаций врукопашную. - fk0(07.10.2010 14:01)
- Можно просто использовать структуру вида: Рэйлвэй Каген(967 знак., 07.10.2010 15:43)
- А в чём нужно хранить тангенс с вашей точки зрения? - fk0(07.10.2010 13:41)
- ответил выше - Рэйлвэй Каген(07.10.2010 15:44)
- только в гвоздями прибитой к ROM константе - Snaky(07.10.2010 13:55)
- Чё??? Бред! Абаснуй! - fk0(07.10.2010 13:59)
- Круто! Т.е. кода мне надо оценить наклон прямой, я не могу тангенс этого наклона хранить в переменной?!!! - POV(07.10.2010 13:52)
- может не те исключения ловишь в catch? - ya(06.10.2010 14:37, )
- А больше ничего опасного в процедуре и нет. Но факт - до последней строчки Timer1->Enabled=true не доходит... POV(137 знак., 06.10.2010 14:49)
- код в студию - ya(06.10.2010 15:00, )
- Вот. Место с иключениями в try выделил символами "<--------------"... POV(4609 знак., 06.10.2010 15:55 - 15:57)
- (1) Проверил бы таки v!=0. (2) float замените на double - на PC будет и быстрее и глюков меньше. - Kit(06.10.2010 22:54)
- Почитай про исключения, деление на ноль не вызывает с++ exception. Смотри можно ли включить обработку SEH эксепшенов в своем компиляторе. - vanner(06.10.2010 18:48)
- Посмотрел - вызывает. - POV(07.10.2010 14:16)
- Обрабатывать такие вещи через исключения -- скорей не правильно. Для этого есть нечисла (если есть). - fk0(07.10.2010 14:29)
- Повторюсь "возможно ли прерывании процедуры по вываливанию в catch?". Больше мне ничего ненужно. - POV(07.10.2010 14:45, ссылка)
- Обрабатывать такие вещи через исключения -- скорей не правильно. Для этого есть нечисла (если есть). - fk0(07.10.2010 14:29)
- Посмотрел - вызывает. - POV(07.10.2010 14:16)
- кстати, непонятно зачем вот этот говнокод? ya(274 знак., 06.10.2010 17:37, )
- Можно было десятком разных способов. Лучшего тут нет. Как приятнее, таки сделал. Это копи-паст из другого проекта для МК, а там intervalStability был константой. - POV(07.10.2010 08:28)
- для константы это даёт прирост скорости, поскольку константа определяется на этапе компиляции и будет вставлено уже посчитанное значение. В случае с переменной получите снижение производительности, поскольку умножаться будет каждый раз, и здесь koyodza(189 знак., 07.10.2010 11:36)
- Увлекаться безопасностью кода вредно. Видел как-то исходник профессиональный - КАЖДАЯ строчка в try...catch. Ну к чему такие загоны? - POV(07.10.2010 11:57)
- обычно студентам с таким вот ЧСВ рекомендуют попрограммировать собственный кардиостимулятор. Или гидравлический пресс с обязательной практикой в течении месяца на нём - koyodza(07.10.2010 12:46)
- При чём тут ЧСВ. Каждый сам для себя решает какова степень безопасности кода нужна. И очень всё это зависит от тестирования софта. Если оно исчерпывающе, а за свой софт я могу быть в этом уверен, то советы про говнокод можно
засунуть в.. POV(23 знак., 07.10.2010 13:12 - 14:10)- Ну что-же Вы так легко ведетесь на провокацию...:) Нравится им критиковать - ну пусть критикуют, раз по делу сказать ничего не могут, жалко что-ли? - Kit(07.10.2010 14:04)
- "в сортах говна не разбираюсь" (с) не моё - koyodza(07.10.2010 14:24)
- Исчерпытающее тестирование софта -- это когда на вход подаётся любая возможная последовательность битов, или как? А то бывает тысячи штук работали без сбоев годы, а потом вдруг как... - fk0(07.10.2010 13:43)
- Именно так. - POV(07.10.2010 13:50)
- почему тогда не можете ответить на простой вопрос, если "всё тщательно проверяли"? - koyodza(07.10.2010 14:21, ссылка)
- Ещё одному повторюсь "возможно ли прерывании процедуры по вываливанию в catch?". Не надо мне давать советы по отладке программы. Я это сделю сам. Я хочу понять нет ли подводных косяков, связанных с особенностями компилятора. - POV(07.10.2010 14:46)
- а как по-Вашему вообще работает exception? - koyodza(07.10.2010 14:59)
- Ещё одному повторюсь "возможно ли прерывании процедуры по вываливанию в catch?". Не надо мне давать советы по отладке программы. Я это сделю сам. Я хочу понять нет ли подводных косяков, связанных с особенностями компилятора. - POV(07.10.2010 14:46)
- почему тогда не можете ответить на простой вопрос, если "всё тщательно проверяли"? - koyodza(07.10.2010 14:21, ссылка)
- Именно так. - POV(07.10.2010 13:50)
- Ну что-же Вы так легко ведетесь на провокацию...:) Нравится им критиковать - ну пусть критикуют, раз по делу сказать ничего не могут, жалко что-ли? - Kit(07.10.2010 14:04)
- При чём тут ЧСВ. Каждый сам для себя решает какова степень безопасности кода нужна. И очень всё это зависит от тестирования софта. Если оно исчерпывающе, а за свой софт я могу быть в этом уверен, то советы про говнокод можно
- Если каждая строчка в try - catch , то исходник автоматом становаится непрофессиональным, так же как и в том случае, когда в нем присутствуют макросы #define N3Points intervalStability*intervalStability*intervalStability ya(340 знак., 07.10.2010 12:06, )
- 1. try-catch -- не признак "безопасности". 2. увлекаться вообще вредно. 3. "профессиональные" исходники часто полный говнокод. - fk0(07.10.2010 12:05)
- +1, try-catch это костыль, а не средство безопасности - koyodza(07.10.2010 12:51)
- обычно студентам с таким вот ЧСВ рекомендуют попрограммировать собственный кардиостимулятор. Или гидравлический пресс с обязательной практикой в течении месяца на нём - koyodza(07.10.2010 12:46)
- Увлекаться безопасностью кода вредно. Видел как-то исходник профессиональный - КАЖДАЯ строчка в try...catch. Ну к чему такие загоны? - POV(07.10.2010 11:57)
- для константы это даёт прирост скорости, поскольку константа определяется на этапе компиляции и будет вставлено уже посчитанное значение. В случае с переменной получите снижение производительности, поскольку умножаться будет каждый раз, и здесь koyodza(189 знак., 07.10.2010 11:36)
- ы-ы-ы а говнокод-то небезопасный, хотя в данном применении работает. Скобочки надо расставлять - koyodza(06.10.2010 17:48)
- Да, знатно было бы на это N3points, к примеру, что-то поделить. - ReAl(06.10.2010 22:59)
- Можно было десятком разных способов. Лучшего тут нет. Как приятнее, таки сделал. Это копи-паст из другого проекта для МК, а там intervalStability был константой. - POV(07.10.2010 08:28)
- intervalStability определено? - Vit(06.10.2010 17:24)
- Конечно. - POV(07.10.2010 08:26)
- всё-таки проверь, чему равно v - Vit(07.10.2010 09:35)
- всмысле тот, который в дефайне. препроцессор вроде как не знает, что переменная такая есть. а то деление на ноль обеспечено - Vit(06.10.2010 17:54)
- да, странный конечно способ использовать имя переменной в дефайнах чуть далее в программе. намеренная обфускация или...? intervalStability и не встречается вовсе дальше дефайнов. он вообще нужен? - Snaky(07.10.2010 09:56 - 10:00)
- не о том речь. препроцессор работает раньше компилятора и пытается считать всё, что можно посчитать. если литерал такой не объявлен со значением, то если препроцессор в этом месте таки выполняет арифметические действия, а не просто подстановку Vit(45 знак., 07.10.2010 10:50)
- я об этом и говорю. просто старался потоньше намекнуть - а то POV обидчивый :> - Snaky(07.10.2010 12:17)
- Я вполне себе параллельный попыткам уколоть. Просто на вопрос "возможно ли прерывании процедуры по вываливанию в catch?" столько херни наговорено не по делу. Кто просто потрепаться - пусть себе ветку отдельную делает. - POV(07.10.2010 13:52)
- Дык по факту v == 0 или нет? - Vit(07.10.2010 13:53)
- не проверял.я не на объекте сейчас, нет возможности проверить - POV(07.10.2010 14:02)
- ??? Vit(294 знак., 07.10.2010 14:10)
- не годится: у него N3point собран не из констант, а из переменных. Посмотри внимательно - koyodza(07.10.2010 14:22)
- :) тебе фе от AL - Vit(07.10.2010 14:24)
- а шо такое? - koyodza(07.10.2010 14:26)
- проверь Vit(90 знак., 07.10.2010 14:28)
- ГОВНОКОД. Это та причина, почему вместо const int вообще следует макросы. - fk0(07.10.2010 15:40)
- Сам проверь: ya(72 знак., 07.10.2010 14:37, )
- упс. и ноль и неноль. на разных компилерах. пошёл за пеплом;) Vit(32 знак., 07.10.2010 15:25)
- ну, проверил. Сразу и padlavil. И чо? - koyodza(07.10.2010 14:29)
- проверь Vit(90 знак., 07.10.2010 14:28)
- а шо такое? - koyodza(07.10.2010 14:26)
- :) тебе фе от AL - Vit(07.10.2010 14:24)
- Вообще это была похоже флуктуация билдера. Неожиданно он начал вылетать на строчке ADOConnection1->CommitTrans(). Перегрузился - всё работает. И функция не прерывается. - POV(07.10.2010 14:16)
- :) ты так ничего и не понял. деление на ноль у тебю осталось. - Vit(07.10.2010 14:19)
- Осталось. И бог с ним. Я его в try запулил. Всё работает. Хочу понять почему ИНОГДА пересает работать. Вопрос был - не из-за этого ли деления на 0? Т.к. это единственное спорное место в коде. - POV(07.10.2010 14:22 - 14:25)
- Вообще, исключение по делению на ноль, это совсем не тоже самое, что и исключение по throw. Деление на ноль сперва видит вин, а потом уже он рассказывает программе, какая у нее беда приключилась. А обычный throw - это без участия вин. AlexBi(317 знак., 07.10.2010 17:11)
- "единственное спорное место" :=D валяюсь - koyodza(07.10.2010 14:25)
- Не попади под каток. - POV(07.10.2010 14:26)
- оно там всегда, а не только когда intervalStability равно нулю - Vit(07.10.2010 14:23)
- Осталось. И бог с ним. Я его в try запулил. Всё работает. Хочу понять почему ИНОГДА пересает работать. Вопрос был - не из-за этого ли деления на 0? Т.к. это единственное спорное место в коде. - POV(07.10.2010 14:22 - 14:25)
- :) ты так ничего и не понял. деление на ноль у тебю осталось. - Vit(07.10.2010 14:19)
- не годится: у него N3point собран не из констант, а из переменных. Посмотри внимательно - koyodza(07.10.2010 14:22)
- ??? Vit(294 знак., 07.10.2010 14:10)
- не проверял.я не на объекте сейчас, нет возможности проверить - POV(07.10.2010 14:02)
- Дык по факту v == 0 или нет? - Vit(07.10.2010 13:53)
- Я вполне себе параллельный попыткам уколоть. Просто на вопрос "возможно ли прерывании процедуры по вываливанию в catch?" столько херни наговорено не по делу. Кто просто потрепаться - пусть себе ветку отдельную делает. - POV(07.10.2010 13:52)
- Ага, конечно, так и есть) Какой он оказывается умный, этот ваш препроцессор! - ya(07.10.2010 11:21, )
- препроцессор выолняет вычисления только если значение известно на этапе компиляции. В данном случает оно неизвестно. - ya(07.10.2010 11:43, )
- не только Vit(225 знак., 07.10.2010 12:48 - 12:50)
- препроцессор выолняет вычисления только если значение известно на этапе компиляции. В данном случает оно неизвестно. - ya(07.10.2010 11:43, )
- я об этом и говорю. просто старался потоньше намекнуть - а то POV обидчивый :> - Snaky(07.10.2010 12:17)
- не о том речь. препроцессор работает раньше компилятора и пытается считать всё, что можно посчитать. если литерал такой не объявлен со значением, то если препроцессор в этом месте таки выполняет арифметические действия, а не просто подстановку Vit(45 знак., 07.10.2010 10:50)
- да, странный конечно способ использовать имя переменной в дефайнах чуть далее в программе. намеренная обфускация или...? intervalStability и не встречается вовсе дальше дефайнов. он вообще нужен? - Snaky(07.10.2010 09:56 - 10:00)
- Конечно. - POV(07.10.2010 08:26)
- мда... странно... Но я бы для начала весь код из обработчика таймера в отдельную процедурку поместил, без __fastcall, и посмотрел бы что получится - ya(06.10.2010 16:23, )
- Вот. Место с иключениями в try выделил символами "<--------------"... POV(4609 знак., 06.10.2010 15:55 - 15:57)
- код в студию - ya(06.10.2010 15:00, )
- А больше ничего опасного в процедуре и нет. Но факт - до последней строчки Timer1->Enabled=true не доходит... POV(137 знак., 06.10.2010 14:49)
- В catch(){} можно добавить аварийное завершение процедуры. - Ruslan(06.10.2010 14:35)
- Так мне не надо. Процедура - обработчик таймера... POV(232 знак., 06.10.2010 14:47)
- Ни один языковой механизм не исправит ошибки, допущенные