-
- Бля-я-я-я!!! Кароч, всё, что советовали, нихт арбайтен. То одно вылезет, то другое. Сижу, смотрю архивы с прожэктом, а там вязанка компилеров. Я-то думал, компилили последней версией, а вот%. Поставил ХС32 2.05 и всё компильнулось влёт. Мявкнуть не успел. Сука! Смеха ради, компильнул правленый прожэкт, он мне всё еггогами залил. - mse homjak(28.11.2025 18:49)
- Не, норот, Вы предлагаете вариант, когда константу надо объявлять в
каждом месте. Я хочу, чтобы было объявление в одном, типа "#define
ADFconst ...", а дальше, я ADFconst юзаю в нужных Ц-файлах, без
риска, забыть кого-то, если надо чота добавить ли убрать в
константе. Но, наскока понимаю, обдефайнить унион(или обунионить
дефайн) напрямую нельзя. Эх, пичяль-тоска, Придёцца, таки,
пользовать дефине. - mse homjak(27.11.2025 22:44)
- я ж тебе написал как это сделать. Если непонятно могу пояснить. Или такой вариант тоже не подходит? abivan(1 знак., 28.11.2025 09:08, ссылка)
- Почему бы эту константу не объявлять во всех местах, где она нужна?
Надеюсь вы не путаете объявление (которое не приводит к выделению
памяти) с определением (которое выделяет память)? Nikolay_Po(340 знак., 27.11.2025 23:26)
- Наскока я понял, мне придётся писать mse homjak(434 знак., 27.11.2025 23:51)
- Возможные варианты решения " Nikolaj(1708 знак., 28.11.2025 06:50 - 07:13, ссылка, ссылка)
- Самый правильный вариант Nikolaj(30 знак., 28.11.2025 07:07, ссылка, ссылка)
- можно и через дефайн Vit(174 знак., 28.11.2025 05:58)
- Вариант объявления общего константного выражения ТС, "допиленного"
по Примеру 3, хорош тем что не нужно явное приведение типов в
местах использования. Но создаёт каждый раз при объявлении копию
переменной/структуры - расход памяти. Nikolaj(1 знак., 28.11.2025 06:59, ссылка)
- не проблема и приведение в дефайн запихнуть Vit(322 знак., 28.11.2025 08:23)
- Вот, кстати, да. Попробую. - mse homjak(28.11.2025 10:51)
- Согласен! - Nikolaj(28.11.2025 09:01)
- не проблема и приведение в дефайн запихнуть Vit(322 знак., 28.11.2025 08:23)
- Вариант объявления общего константного выражения ТС, "допиленного"
по Примеру 3, хорош тем что не нужно явное приведение типов в
местах использования. Но создаёт каждый раз при объявлении копию
переменной/структуры - расход памяти. Nikolaj(1 знак., 28.11.2025 06:59, ссылка)
- Возможные варианты решения " Nikolaj(1708 знак., 28.11.2025 06:50 - 07:13, ссылка, ссылка)
- Наскока я понял, мне придётся писать mse homjak(434 знак., 27.11.2025 23:51)
- Прикол ещо вот в чом. Это рабочий прожэкт. Пара приборов стоит и
работает. Понадобилось малость рихтануть. Из архива прожэкта
достали те самые дистрибутивы ИДЕ, ХС32, Гармони, разархивировали
прожэкт, Гармонь его подхватила. Казалось бы, жизнь удолась... Хуй
там. Такого навылазило, шопедесц! - mse homjak(27.11.2025 22:52)
- Вот! Поэтому готовый проект, я сохраняю в виде виртуальной машины.
Народ из зала подсказывает, что можно сохранять не машину, а
контейнер. Но я до такого ещё не дошёл и на моём уровне понимания,
целая виртуальная машина - надёжнее. Nikolay_Po(819 знак., 27.11.2025 23:44)
- Да, виртуальную машину надо было сохранять. mse homjak(162 знак., 28.11.2025 00:05)
- Вот! Поэтому готовый проект, я сохраняю в виде виртуальной машины.
Народ из зала подсказывает, что можно сохранять не машину, а
контейнер. Но я до такого ещё не дошёл и на моём уровне понимания,
целая виртуальная машина - надёжнее. Nikolay_Po(819 знак., 27.11.2025 23:44)
- Я бы анонимные члены явно проименовал, например: Nikolay_Po(618 знак., 27.11.2025 17:04)
- Ну, надо попробовать, пасибо. - mse homjak(27.11.2025 22:46)
- Да что пробовать, так надо делать. Nikolay_Po(1416 знак., 27.11.2025 23:19)
- С переменными, понятно, тут вопросов нет. mse homjak(357 знак., 28.11.2025 00:05)
- Да что пробовать, так надо делать. Nikolay_Po(1416 знак., 27.11.2025 23:19)
- Ну, надо попробовать, пасибо. - mse homjak(27.11.2025 22:46)
- как можно сделать в .с файле написали ниже, ну а если хочется в
инклуде то вот так abivan(1 знак., 27.11.2025 15:24, ссылка)
- не помню - а с extern указание значений проходит? - Vit(27.11.2025 15:51)
- нет abivan(234 знак., 27.11.2025 16:10)
- не помню - а с extern указание значений проходит? - Vit(27.11.2025 15:51)
- ADFmanualSingleWordLoad объявлена в нескольких файлах. Надо const SPI32directPort ADFmanualSingleWordLoad={.bits.autoload=1,.bits.wordsInBatch=2}; объявить в си файле, а в Н файле extern const SPI32directPort ADFmanualSingleWordLoad; - IBAH(27.11.2025 14:33, +2)
- А почему бы по-старинке не записать в этом файле "extern const", а
в каком-нибудь сишном: "const ..."? - Eddy_Em(27.11.2025 13:36)
- Наверное он хочет дать оптимизатору больше шансов. А так - да. - =AlexD=(27.11.2025 13:44)
- Так и попробуй в хе файле объявить ея статик, тогда в каждом си файле она будет особая, но это автаматичиски приведёт к увеличению расхода памяти. - =AlexD=(27.11.2025 13:24)