| Результаты опроса: Каков результат? | |||
| Ошибка компиляции |
|
6 | 35.29% |
| Повисшая Аксапта |
|
10 | 58.82% |
| Упавшая Аксапта |
|
1 | 5.88% |
| Ошибка времени выполнения |
|
0 | 0% |
| Голосовавшие: 17. Вы ещё не голосовали в этом опросе | |||
|
|
Опции темы |
|
|
#1 |
|
----------------
|
рекурсия макроса
Как вы думаете, какой будет результат такого джоба?
X++: static void JobMacro(Args _args) { ; #localmacro.recurse #recurse #endmacro #recurse } |
|
|
|
| За это сообщение автора поблагодарили: S.Kuskov (2). | |
|
|
#2 |
|
Участник
|
результат такого джоба у всех один:
Ctrl+Alt+Del -> Ax32.exe -> Завершить процесс )))
__________________
Что сломалось не знаем, но уже немного подчинили...
Последний раз редактировалось hated8; 16.04.2010 в 17:02. |
|
|
|
|
#3 |
|
Axapta
|
Естественно, Аксапта зависнет на этапе компиляции. В чем вопрос?
|
|
|
|
|
#4 |
|
----------------
|
"естественно"
то есть Вы считаете, что разработчики Аксапты не рассматривали такой возможности? |
|
|
|
|
#5 |
|
Axapta
|
Ну да, было бы неплохо, если бы компилятор умел обрабатывать такую ситуацию. Видимо не рассматривали. Только вряд ли это сколько-нибудь серьезная проблема. Или я не прав?
|
|
|
|
|
#6 |
|
Участник
|
Я создавал когда-то такой баг в нашей системе.
Сказали, что отследить с текущим компилятором это непросто, а позитивный эффект от фикса минимальный, а соответственно смысла фиксить нет, и я, в принципе, с ними согласен. |
|
|
|
|
#7 |
|
----------------
|
Вы думаете я сплю? А я не сплю - я думаю.
Цитата:
Сказали, что отследить с текущим компилятором это непросто, а позитивный эффект от фикса минимальный, а соответственно смысла фиксить нет.
Удивляет, что ее решили. Наверное, еще когда система не попала к специалистам Microsoft. (у кого есть 2.5 проверьте там, плиз, как работает джоб). Вы, господа, нетерпеливы. Стоило подождать 15 минут и вы бы получили ошибку компиляции. А если ждать так долго неохота, то добавьте пару строчек кода в макрос после рекурсии и время ожидания сократится на порядок. Еще можно попробовать добавить пару строчек в макрос до рекурсии и получите... правильно, тоже ошибку компиляции, но другую и моментально. Только 3 из 13 угадали ответ. Поздравляю! Интересно, кто эти люди, которые еще верят в скрытые возможности Аксапты? (я тоже ответил неправильно) Итог. Если при компиляции вы получили одну из ошибок: -8 Макрокоманда слишком сложна 15 Внутренний объектный код не должен превышать 64Кб то скорее всего у вас макросы зациклились и получилась бесконечная рекурсия. |
|
|
|
| За это сообщение автора поблагодарили: Logger (1), DSPIC (1). | |
|
|
#8 |
|
Участник
|
Ну, справедливости ради, в опросе не указывалось, как долго должна висеть Аксапта. А она именно висит, как оказывается, 15 минут.
Так что все 13 правы
|
|
|
| Теги |
| ошибка компиляции |
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Рекурсия, память | 10 | |||
| Выборка с помощью макроса | 5 | |||
| Расширение макроса InventDimJoin | 3 | |||
| Отладка макроса | 7 | |||
|