Программирование ARM. Eclipse, Keil,IAR,CooCox - всё сюда.

  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #201

потому что переменная должна быть обьявлена только один раз.
Обьявил ее в нужном модуле,сделал экстерном в хидере,теперь каждый модуль,который пользуется этим хидером будет знать,что переменная определена в другом месте и линкер не будет ругаться.
Еще делается защита от рекурсивного подключения хидеров
#ifndef __mhdr_h
#define __mhdr_h
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #202
Во во во, полчаса назад я эту хуйню борол у себя! Прикинь, он сука "забывает" про изменения внесенные в хидер.
Короче, я сделал так. В дереве проекта еще раз открыл нужный хидер, в него перетащил то что нафигачил в уже открытом. Старый закрыл, новый сохранил. По сути это ОДИН И ТОТ же, блядь, файл, но Кейлу похуй.
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #203
да дохера где такое есть. неча привыкать к плюхам коммерца

Не, есть какой-то особенный глюк кейла, из за него я и не использовал этот бред.

Дело в том, что либы, которые он затягивает из того же куба - отлично работают, а там - дефайны как множественные, так и перекрестные (чего ни один компилятор не простил бы).
Пример:
Код:
/**
  ******************************************************************************
  * @file           : usbd_conf.h
  * @version        : v1.0_Cube
  * @brief          : Header for usbd_conf file.
  ******************************************************************************
......
#include "usbd_def.h"
и тут же
Код:
/**
  ******************************************************************************
  * @file           : usbd_conf.h
  * @version        : v1.0_Cube
  * @brief          : Header for usbd_conf file.
  ******************************************************************************
  * COPYRIGHT(c) 2016 STMicroelectronics
....
#include "usbd_def.h"
И НИ ГДЕ! Ни где, Карл! Нет ни каких екстернов, чтобы не ругалось. Это ж непреемлемо - там десятки описаний, что, все экстерном? Да нет там екстернов ни каких.
Екстерн нужен, если я объект использую. И-то - если его не поставить, а использовать имя - он просто создаст ещё один объект. Я же хидер добавил - сколько памяти выделять компилятор знает. Он его создаст - неоднократно проверено (тот же non eabi...хуёмаё арм ЖЦЦ, атмел, иар). Везде кроме кейла просто инклудят хидеры в .с в любом количестве, а если без extern - будет N переменных одного типа с одним именем... видимых только из файла, где они созданы.
Но это ни как не multiple definition.


ьыыыы...
Вот ты конкретно сейчас на кейловский проект смотришь?
А я смотрю.
И ни какого отношения к требованиям стандарта этотт маразм не имеет.
И #ifndef __file.h
#define__file.h
там есть у меня.
Просто єто кейл. Чтобы не быть голословным - просто поставь кейл, создай проект и заинклудь в 2 .с файла один .h файл - а-то этот спич весь о сферических конях. Собери в кейле и удивись.


о как... а я прошлій раз, когда стоял выбор IDE на повестке - именно из за этой хеты кейл нахер выкинул. Я так и не нашел в чем прикол.
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #204
Тогда может IDE поменять,чтобы не удивляться? К той-же Eclipse уже прикручивается IAR.
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #205
я когда вижу переменную в хедере, хоть и extern - делаю вот так:
пушо это такой крайняк, шо пестрить определениями оно никак не должно.
и пестроту всю стараюсь в неймспейс обернуть, то бишь в struct{}
иначе
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #206

Я так и делал, но USB библиотеки правильные - генерятся в IAR, кейл и ещё 3 ИДЕ, среди которых нет еклипса, а есть еклипсоподобные

Я уже устал перебирать IDE, бля. Ну ещё 2 надо поставить и проверить.

IAR уже доделал автодополнение кода?
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #207
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #208

ммм... чем тебе не нравятся переменные?
В хИдере, не в хедере

хидер это .h файл, а не верхняя часть файла .с
Чего в .h не должно быть переменных? Не всё есть смысл оборачивать.
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #209
IAR уже доделал автодополнение кода?
Сделал. Версия 7.50

Не знаю, не смотря на все приколы мне нравится Кейл, потому шо... удобный он, вкладочки разноцветные там, ебли с настройкой меньше. И вообще привык я к нему. Четвертый говно, а пятый ништяк
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #210
Сделал. Версия 7.50

Потому как твоё предположение о забівчивости кейла - не подтвердилось. Всё он замечательно помнит - глюк в другом где-то. Если я дефайню хидер только в 1 файл - всё работает. Множественній дефайн вызывает ошибку. и как это обойти я не понимаю. И как это обошли в либах - тоже. так как либы все работают и содержат любые дефайны, включая перекрестные.
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #211
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #212
Проверил ещё 2 IDE
Докладываю - обе на еклипсе (в результате - обе ушли нахуй).
Одна - не фриварь. Вернее, она фриварь только без много чего (отладчика, анализа статического кода и ещё чего-то). Чтобы включить полный функционал - помогает "недорогая подписка". Стоимость самой "недорогой подписки" я ни где не нашел (ну я больше 2х минут и не искал).
Это Атоллик тру студио Фтопку.

SystemWorkbench - еклипс. Бесплатен. Бессмысленнен.
Открыл проект - один из юсб-файлов сразу после генератора подсвечен воскличательным знаком, утверждает, что мало переменных передают в функцию.

Даже не компилировал - закрыл проект.

Остался или IAR, или если кто-нибудь объяснит мне что надо кейлу, чтобы он перестал неадекватно реагировать на включение одного хидера в 2 сишника одновременно.


Кейл не работает.
Невозможно в 2 разных *.с файла включить один и тот же *.h файл.
Как это сделать?
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #213
Ну я хер его знает. У меня хидер с системными параметрами подключен в десятке сишных файлов и все ОК, полет нормальный.
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #214

А у меня - нет. И єто уже второй раз происходит в истории. Первый раз кейл именно по такой же причине улетел на мусорку.
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #215
Может Пашу Гайдука попросим чтоб запилил свою IDE с библиотеками и визардами?
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #216
У кейла с инклудами какой-то пиздец.
Говорю создать файл.h в группе Application/User
Предлагает мне путь в папку MDK-ARM и менять отказывается. Естественно, этот файл потом нихуя не находится из main.c, куда ему и дорога заинклудиться. Если создаю руками в папке src (это которая Application/User) - находится, но проблемы вышеописанные.



P.S.

Помогите выяснить где косяк. Вот проект кейл мдк арм 5.17. У меня выдает ошибку множественного дефайна. У всех так, или только у меня?

⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
 
Останнє редагування:
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #217
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #218
Та ладно, а вдруг он ровно его портирует

Переархивируй и перезалей. 235 ошибок распаковки.
 
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #219
  • 🔴 21:27 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #220

Нет там ошибок, но могу переархивировать. просто попробуй 7 распаковать программой 7zip.
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
.