-
- ну это "догма", ровно как и "английский без пробелов" в путях. - 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)