🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
Ви використовуєте застарілий браузер. Цей та інші сайти можуть відображатися в ньому некоректно. Необхідно оновити браузер або спробувати використовувати https://www.google.com/chrome/
Программирование ARM. Eclipse, Keil,IAR,CooCox - всё сюда.
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
потому что переменная должна быть обьявлена только один раз.
Обьявил ее в нужном модуле,сделал экстерном в хидере,теперь каждый модуль,который пользуется этим хидером будет знать,что переменная определена в другом месте и линкер не будет ругаться.
Еще делается защита от рекурсивного подключения хидеров
#ifndef __mhdr_h
#define __mhdr_h
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
Во во во, полчаса назад я эту хуйню борол у себя! Прикинь, он сука "забывает" про изменения внесенные в хидер.
Короче, я сделал так. В дереве проекта еще раз открыл нужный хидер, в него перетащил то что нафигачил в уже открытом. Старый закрыл, новый сохранил. По сути это ОДИН И ТОТ же, блядь, файл, но Кейлу похуй.
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
Не, есть какой-то особенный глюк кейла, из за него я и не использовал этот бред.
Дело в том, что либы, которые он затягивает из того же куба - отлично работают, а там - дефайны как множественные, так и перекрестные (чего ни один компилятор не простил бы).
Пример:
И НИ ГДЕ! Ни где, Карл! Нет ни каких екстернов, чтобы не ругалось. Это ж непреемлемо - там десятки описаний, что, все экстерном? Да нет там екстернов ни каких.
Екстерн нужен, если я объект использую. И-то - если его не поставить, а использовать имя - он просто создаст ещё один объект. Я же хидер добавил - сколько памяти выделять компилятор знает. Он его создаст - неоднократно проверено (тот же non eabi...хуёмаё арм ЖЦЦ, атмел, иар). Везде кроме кейла просто инклудят хидеры в .с в любом количестве, а если без extern - будет N переменных одного типа с одним именем... видимых только из файла, где они созданы.
Но это ни как не multiple definition.
потому что переменная должна быть обьявлена только один раз.
Обьявил ее в нужном модуле,сделал экстерном в хидере,теперь каждый модуль,который пользуется этим хидером будет знать,что переменная определена в другом месте и линкер не будет ругаться.
Еще делается защита от рекурсивного подключения хидеров
#ifndef __mhdr.h
#define__mhdr.h
ьыыыы...
Вот ты конкретно сейчас на кейловский проект смотришь?
А я смотрю.
И ни какого отношения к требованиям стандарта этотт маразм не имеет.
И #ifndef __file.h
#define__file.h
там есть у меня.
Просто єто кейл. Чтобы не быть голословным - просто поставь кейл, создай проект и заинклудь в 2 .с файла один .h файл - а-то этот спич весь о сферических конях. Собери в кейле и удивись.
Во во во, полчаса назад я эту хуйню борол у себя! Прикинь, он сука "забывает" про изменения внесенные в хидер.
Короче, я сделал так. В дереве проекта еще раз открыл нужный хидер, в него перетащил то что нафигачил в уже открытом. Старый закрыл, новый сохранил. По сути это ОДИН И ТОТ же, блядь, файл, но Кейлу похуй.
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
Тогда может IDE поменять,чтобы не удивляться? К той-же Eclipse уже прикручивается IAR.
_pasha
P
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
я когда вижу переменную в хедере, хоть и extern - делаю вот так:
пушо это такой крайняк, шо пестрить определениями оно никак не должно.
и пестроту всю стараюсь в неймспейс обернуть, то бишь в struct{}
иначе
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
я когда вижу переменную в хедере, хоть и extern - делаю вот так:
пушо это такой крайняк, шо пестрить определениями оно никак не должно.
и пестроту всю стараюсь в неймспейс обернуть, то бишь в struct{}
иначе
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
Не знаю, не смотря на все приколы мне нравится Кейл, потому шо... удобный он, вкладочки разноцветные там, ебли с настройкой меньше. И вообще привык я к нему. Четвертый говно, а пятый ништяк
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
Потому как твоё предположение о забівчивости кейла - не подтвердилось. Всё он замечательно помнит - глюк в другом где-то. Если я дефайню хидер только в 1 файл - всё работает. Множественній дефайн вызывает ошибку. и как это обойти я не понимаю. И как это обошли в либах - тоже. так как либы все работают и содержат любые дефайны, включая перекрестные.
_pasha
P
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
Проверил ещё 2 IDE
Докладываю - обе на еклипсе (в результате - обе ушли нахуй).
Одна - не фриварь. Вернее, она фриварь только без много чего (отладчика, анализа статического кода и ещё чего-то). Чтобы включить полный функционал - помогает "недорогая подписка". Стоимость самой "недорогой подписки" я ни где не нашел (ну я больше 2х минут и не искал).
Это Атоллик тру студио Фтопку.
SystemWorkbench - еклипс. Бесплатен. Бессмысленнен.
Открыл проект - один из юсб-файлов сразу после генератора подсвечен воскличательным знаком, утверждает, что мало переменных передают в функцию.
Даже не компилировал - закрыл проект.
Остался или IAR, или если кто-нибудь объяснит мне что надо кейлу, чтобы он перестал неадекватно реагировать на включение одного хидера в 2 сишника одновременно.
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
У кейла с инклудами какой-то пиздец.
Говорю создать файл.h в группе Application/User
Предлагает мне путь в папку MDK-ARM и менять отказывается. Естественно, этот файл потом нихуя не находится из main.c, куда ему и дорога заинклудиться. Если создаю руками в папке src (это которая Application/User) - находится, но проблемы вышеописанные.
P.S.
Помогите выяснить где косяк. Вот проект кейл мдк арм 5.17. У меня выдает ошибку множественного дефайна. У всех так, или только у меня?
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
Останнє редагування:
_pasha
P
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада