...делать нужно так, как нужно. А как ненужно - делать не нужно (С) Винни-Пух :)
-
- дел - Moлoдoй кoллeгa(27.11.2022 07:46)
- погуглите до кучи еще "define do while 0" - NAUT(27.11.2022 02:25)
- глянул - капец ребяты развлекаются :)) ну уж нафиг-нафиг, я
как-нить в ассемблере с удовольствием покодю :)) - Adept(27.11.2022 04:49)
- "Писать на Паскале можно на любом языке!" :) - Cкpипaч(27.11.2022 10:27)
- глянул - капец ребяты развлекаются :)) ну уж нафиг-нафиг, я
как-нить в ассемблере с удовольствием покодю :)) - Adept(27.11.2022 04:49)
- однако реально по разному собираются (посмотрел карты сборки) С хера ли перетасовывает расположение переменных в памяти?? Adept(70 знак., 26.11.2022 20:29, картинка, картинка)
- в скобки надо :) (1+KeyGroupSize*KeyGroups) - framer(26.11.2022 20:27)
- ну это "догма", ровно как и "английский без пробелов" в путях. - Zoro(26.11.2022 23:17)
- каюсь, с тех пор как винда стала адекватно работать с длинными кириллическими именами с пробелами, потихоньку стал отходить от правильной привычки заменять_пробел_подчерком, а в проектах не применять кириллицу в именах и путях :)) несколько раз был за это наказан проблемами с архивированием на своём сайте, неадекватной работой серьёзных программ (которые жуть как не любят кириллицу и пробелы, причём кириллицу не любят больше :)) но в общем, в бытовом плане (обычная работа с Adept(146 знак., 27.11.2022 04:56)
- О!!!! СПАСИБО ВСЕМ скобки помогли!! (блять сколько проектов сделаны
без скобок, а тут - на тебе :( надо взять за железное правило -
арифметику в скобки (кто ж думал, что так критично :( - Adept(26.11.2022 20:32)
- и кстати, только смешанную арифметику в скобки (+ - * /) или
сложение/вычитание и умножение/деление в одном выражении верно
будет вычисляться (хотя, как я уже сказал и без скобок значение
констант вычисляется верно, видать у компилятора на пару с
препроцессороми просто "башню сносит" от комбинации именно в
вышеописанном варианте (ну мож ещё "фаза луны" :)) - Adept(26.11.2022 20:42)
- Препроцессору это всё до лампочки. Он просто в тексте программы заменяет одни буквы на другие. А с выражениями и приоритетами операций в получившемся тексте дальше уже компилятор разбирается. - ЫЫyкпy(26.11.2022 21:16)
- Всегда, нет, ВСЕГДА любое выражение в макросах заворачивать в
скобки! - LightElf(26.11.2022 21:04)
- Я бы добавил. Если непонятно, почему, УЧИТЬ МАТЧАСТЬ. - SciFi(26.11.2022 21:07)
- разрешите бегом? :) /матчасть эт завсегда полезно, плюсую на самом деле :) / - Adept(26.11.2022 21:58)
- Я бы добавил. Если непонятно, почему, УЧИТЬ МАТЧАСТЬ. - SciFi(26.11.2022 21:07)
- #define xxx 1+50 ..... y = 5*xxx - очевидно, что без скобок
результат будет разный от порядка слагаемых. - POV(26.11.2022 20:33)
А кто же всё-таки убил Жольена Налестру- а кто ж все-таки гадит? Почему получается нерабочая версия, если оба варианта объявления констант в отладцике дают одинаковое число?? - Adept(26.11.2022 20:39)- Там же конечное число этих макросов? Каждый можно проверить
ручками. Не ленитесь. От порядка вычислений также может зависеть
переполнение. - SciFi(26.11.2022 20:45)
- Да муторно это всё, и непонятна метода, но похоже проблема в том,
что, возможно для отладчика (кросс-ссылки и препроцессор) и сборки
хекса используются разные утилиты. Сейчас глянул карты сборки
(которые приводил) - разница по расположению переменных в памяти в
17 байт (т.е. похоже, умножение в дефайнах где-то интерпретируется
как ноль (по крайней мере размер памяти кейдрайвера (для которого и
выявлена проблема - 17 байт). Пойду тотально закрывать во всём
исходнике Adept(23 знак., 26.11.2022 21:00)
- Муторно — это на асме кодить. Да и в методе ничего непонятного нет.
Эх... - SciFi(26.11.2022 21:09)
- не, "асм" это песня :) - вообще никаких проблем (прям загляденье, и колоссальное удовольствие когда какой-нить хитрожопый алгоритм заворачиваешь в пару десятков байт кода :)) А главное - всё предельно понятно. Проблемы начинаются вот именно когда накручиваются "слои абстракций" с препроцессорами, условными компиляциями, вложенными макросами и прочим, хотя, даже вложенные макросы как-то особых проблем не создавали :) - Adept(26.11.2022 21:54)
- Не... На всме, чо видишь, то поёш. А на ЯВУ нужно петь так, чтобы
зритель понял. А он тупой. Ну, типа. - mse homjak(26.11.2022 21:23)
- Меня не обманешь. Что видишь, то и поёшь, — это кодирование в
хексе. Так делают только настоящие мущщины. - SciFi(26.11.2022 21:53)
- Настоящим мущщиной я был до 23, кажысь, лет... Потом скатился... - mse homjak(26.11.2022 21:58)
- Меня не обманешь. Что видишь, то и поёшь, — это кодирование в
хексе. Так делают только настоящие мущщины. - SciFi(26.11.2022 21:53)
- Муторно — это на асме кодить. Да и в методе ничего непонятного нет.
Эх... - SciFi(26.11.2022 21:09)
- Да муторно это всё, и непонятна метода, но похоже проблема в том,
что, возможно для отладчика (кросс-ссылки и препроцессор) и сборки
хекса используются разные утилиты. Сейчас глянул карты сборки
(которые приводил) - разница по расположению переменных в памяти в
17 байт (т.е. похоже, умножение в дефайнах где-то интерпретируется
как ноль (по крайней мере размер памяти кейдрайвера (для которого и
выявлена проблема - 17 байт). Пойду тотально закрывать во всём
исходнике Adept(23 знак., 26.11.2022 21:00)
- Там же конечное число этих макросов? Каждый можно проверить
ручками. Не ленитесь. От порядка вычислений также может зависеть
переполнение. - SciFi(26.11.2022 20:45)
- ох... - SciFi(26.11.2022 20:33)
- и кстати, только смешанную арифметику в скобки (+ - * /) или
сложение/вычитание и умножение/деление в одном выражении верно
будет вычисляться (хотя, как я уже сказал и без скобок значение
констант вычисляется верно, видать у компилятора на пару с
препроцессороми просто "башню сносит" от комбинации именно в
вышеописанном варианте (ну мож ещё "фаза луны" :)) - Adept(26.11.2022 20:42)
- ну это "догма", ровно как и "английский без пробелов" в путях. - Zoro(26.11.2022 23:17)
- Вызывается как? Нехорошо без скобок макрос оформлять. - POV(26.11.2022 20:27)
- СПАСИБО! действительно со скобками пошло.
Ну не суки ли?кто ж думал, что так оно критично :(( - Adept(26.11.2022 20:33)
- СПАСИБО! действительно со скобками пошло.
- Такое-же говно может быть и с ассемблером и с чем угодно. У меня
правило, дефайны с арифметикой заключать в скобки. - mse homjak(26.11.2022 20:27)
- спасибо! действительно так :( (теперь надо не забыть так делать всегда, а то кто его знает как оно там повернётся, хрошо, здесь сразу глюк выявился) - Adept(26.11.2022 20:34)
- Бдь, три ответа в 20:27, вы тоже из-за угла следили? ;О) - mse homjak(26.11.2022 20:29)
- я "опоздал" с ответом - сорри я кино смотрел.... - Zoro(26.11.2022 23:23)
- Народ соскучился по рабочим вопросам. А тут ещё и намечается война крестовиков с ортодоксами :) - symbions(26.11.2022 21:13)