Easyelectronics.ru

Электроника для всех
Текущее время: 06 дек 2021, 00:50

Часовой пояс: UTC + 5 часов


Правила форума


Входить исключительно со своей туалетной бумагой. Можно невозбранно получить по голове за быдляк и личные наезды.


JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: какое однако унылое г... это кайло
СообщениеДобавлено: 12 янв 2020, 08:38 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 4246
Откуда: Китай, Пекин
про ыхнюю IDE уже все оттоптались..ну и хер с ней, всегда есть сторонние редакторы.
Пришло время офигивать с дури компилятора кайла. На этот код

Изображение

выдаёт ошибку.

Изображение

заставляя писать так

Изображение

в то время как прочие С компиляторы прекрасно воспринимают этот код.

алё, кейловй компилятор....
подними глазки на строчку выше и либо трусы надень, либо крестик сними.

Тошниловка...

_________________
unirail.org


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 12 янв 2020, 13:17 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4478
Откуда: г. Липецк
Тулчейн Кейла немного устарел, несомненно, однако комментарии таких "гениальных" программистов как cheblin как-то побоку... Не умеешь, не берись.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 12 янв 2020, 13:54 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 4246
Откуда: Китай, Пекин
Цитата:
однако комментарии таких

долго скакал?
Цитата:
Не умеешь, не берись.

мне-то всё это реально - пофиг, кодогенератор подкрутил, кнопку жмакнул и получил новый код...
а вот кто другой, свой рукописный код портировать будет - кекс гарантирован.

_________________
unirail.org


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 12 янв 2020, 14:19 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4478
Откуда: г. Липецк
Я не затем, чтобы что-то опошлить, я не знаю вашей квалификации, судя по вашим наездам она невысокая. Вы можете подтвердить свою квалификацию опубликовав статью в сообществе. Тогда и станет понятно, чего вы стОите. А без этого ваше "Фи" пустой звук. ИМХО.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 12 янв 2020, 14:25 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 4246
Откуда: Китай, Пекин
Цитата:
судя по вашим наездам она

я тут не пиписьками мертися...
элементарно поделился своими впечатлениями... по написанному замечания есть? или ...
Цитата:
Что может говорить хромой об искусстве Герберта фон Караяна? Если ему сразу заявить, что он хромой, он признает себя побежденным.

О чем может спорить человек, который не поменял паспорт? Какие взгляды на архитектуру может высказать мужчина без прописки? Пойманный с поличным, он сознается и признает себя побежденным.

И вообще, разве нас может интересовать мнение человека лысого, с таким носом? Пусть сначала исправит нос, отрастит волосы, а потом и выскажется.

_________________
unirail.org


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 12 янв 2020, 14:28 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4478
Откуда: г. Липецк
Мда, пытался адекватно поговорить, больше не буду.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 12 янв 2020, 14:32 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 4246
Откуда: Китай, Пекин
anakost писал(а):
адекватно поговорить

и сразу с козырей зашел...
Цитата:
однако комментарии таких "гениальных" ...


маладца, чё.

_________________
unirail.org


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 20 янв 2020, 01:01 
Старожил
Аватара пользователя

Зарегистрирован: 17 июн 2013, 14:28
Сообщения: 1243
Откуда: Красноярск
Сам чёрт не разберёт что ты нахуевертил


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 20 янв 2020, 06:51 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 4246
Откуда: Китай, Пекин
Цитата:
чёрт не разберёт

а потому что эта лекция для дачников...

_________________
unirail.org


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 21 янв 2020, 04:19 
Старожил

Зарегистрирован: 01 фев 2013, 02:21
Сообщения: 335
cheblin писал(а):
Цитата:
чёрт не разберёт

а потому что эта лекция для дачников...

правильно ругается (Keil, а не chebin). Какой стандарт указан в настройках проекта и как NULL по этому стандарту заявлен?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 21 янв 2020, 06:27 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 4246
Откуда: Китай, Пекин
besitzeruf писал(а):
правильно ругается (Keil, а не chebin). Какой стандарт указан в настройках проекта и как NULL по этому стандарту заявлен?


Цитата:
-c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork -I ./Main -I ./STM32F10x_StdPeriph_Driver -I ./STM32_USB-FS-Device_Driver -I ./Core
-IC:/Keil_v5/ARM/RV31/INC
-IC:/Keil_v5/ARM/CMSIS/Include
-IC:/Keil_v5/ARM/INC/ST/STM32F10x
-D__UVISION_VERSION="529" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -DUSE_STM32_ELECTRON
-o .\.obj\*.o --omf_browse .\.obj\*.crf --depend .\.obj\*.d


Цитата:
Какой стандарт указан в настройках проекта и как NULL

ну посмотрите ж внимательно

Изображение

оособенно на строчку с default как лихо компилятор справляется с задачей преобразования NULL в Meta const *

а строчкой ниже уже никак..
причём у меня тестирование этого сгенерёного кода происходит на разных компиляторах
и всем прочим всё ОК

из свежего
стояло на компе старое кайло 5.24 и вот такой код прекрасно компилился ВЕЗДЕ и в кайле тоже
Изображение
обновили кайло до версии 5.29 начало ругаться на то что meta из-за switch может оказаться не инициализированной
заставляет и писать вот так
Изображение

жду комминтарии икспердов... на самом деле нет

_________________
unirail.org


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 21 янв 2020, 22:52 
Старожил

Зарегистрирован: 01 фев 2013, 02:21
Сообщения: 335
ну для стандарта С99 дефайн(макрос) NULL объявлен как зависящий от имплементации. Поэтому все компиляторы имеют полное право делать с ним то, что пожелают (формально). Включая разные версии одного и того же компилятора :) так что забейте и смиритесь с этим.


Последний раз редактировалось besitzeruf 22 янв 2020, 00:38, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 21 янв 2020, 23:32 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2014, 13:25
Сообщения: 1089
Откуда: Earth
Прямо сейчас ищу альтернативу Кейлу для АРМ (СТМ32, если точнее). И не нахожу.
Мне, как любителю надо:
- Чтоб было под винду 7, 32 бита. Есть и под Линукс ? Отлично, я не против, но мне нужна Винда (но не 10). (прощай Вижуал Студио+расширения. Сегодня пробовал ставить, даже установка не проходит до конца, хотя полгода назад ставил на эту же систему, просто потом снес ради экономии места. Сейчас поддержка 7 закончилась, и мелкософт просто не дает туда поставить последнюю студию. Где взять офлайн инсталлятор Вижуал Студио, я так и не нашел).
- Поддержка программатора/отладчика искаропки. Ну Ок, можно 1 плагином, который не надо по индусским форумам искать. И чтобы ПРОГРАММИРОВАТЬ ИЗ ИДЕ умело, а не только отладку, как Emblocks/Embitz. Мне отладчик нужен когда что-то НЕ ПОЛУЧАЕТСЯ, а не постоянно юзать вместо прошивки.
- Чтобы не на базе Эклипса (прощайте Атоллики, SW4STM32 и прочие CubeIDE). Запуск Эклипсоподобного может занимать от 10 секунд до 5 (ПЯТИ !!!111) минут. От чего это зависит, я так не понял. Когда юзал (где-то пару недель), просто запускал, ждал секунд 30, если не успевало загрузится, убивал задачу в менеджере и запускал заново. Статистически это оказывалось быстрее, чем просто ждать. Отладка в уже запущеной ИДЕ при этом была не супербыстрой, но вполне юзабельной.
- Желательная легальность использования (хотя бы для себя, хрен с ними, с заказчиками со стороны, для них поставлю SW4STM32 (CubeIDE на 32 бита тоже не встает), сдам проект, и удалю как страшный сон. Для себя юзаю Кейл в режиме до 32 кБ.

Пытался пробовать Segger Embedded Studio, даже JLink какой-то нарыл. Но не взлетело с ходу, не видит МК, хоть ты тресни, хотя сам JLink видится.
В итоге взлетел только Кейл (пустой проект с нуля создается за 3 минуты). Только с ним получилось придти после работы домой, и что-то на расслабоне покодить ("позабивать гвозди"), без необходимости "самому делать молоток".
Еще ИАР пробовал. Он тоже неплох, все завелось с полпинка, только там демо-режим по времени, а не по размеру кода, поэтому не подошел.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 21 янв 2020, 23:43 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 4213
Откуда: Винница
Gnusmas писал(а):
Запуск Эклипсоподобного может занимать от 10 секунд до 5 (ПЯТИ !!!111) минут. От чего это зависит, я так не понял.
Похоже, что из-за огромного количества открываемых в процессе файлов. Запуск силабсовской Simplicity Studio у меня занимал около 4 минут - что на старинном атлоне о 4 ГБ ОЗУ, что на Core i5 с 32... Атоллик стартовал раза в полтора быстрее. 10 секунд - это какая-то фантастика. :)
Для кортексов-М0 (по крайней мере от ST) у Кейла есть бесплатная лицензия, без ограничения по памяти. Или нужно что-то потяжелее?

_________________
Китайская комплектация - европейское качество!


Последний раз редактировалось Katz 21 янв 2020, 23:53, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 21 янв 2020, 23:51 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2014, 13:25
Сообщения: 1089
Откуда: Earth
Katz писал(а):
... из-за огромного количества открываемых в процессе файлов...

Дык я еще даже не проект открывал, а просто ИДЕ запускал, открывало проект оно уже более менее быстро. Даже если оно помнило последний открытый проект и его "оценивало", то у меня там ну аж до 10 файлов по 500 строчек каждый максимум. Я их бегло прочитать быстрее мог, чем оно))

Katz писал(а):
... Или нужно что-то потяжелее?

Да, я пользуюсь в основном F103, но не потому что нужен жир, просто они на BluePill стоят.

Ну и лицензионные вопросы меня пока(?) волнуют меньше всего (но все таки волнуют, как благородного пирата), я больше для себя учусь, чем на заказы работаю.


Последний раз редактировалось Gnusmas 21 янв 2020, 23:55, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 21 янв 2020, 23:55 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 4213
Откуда: Винница
Там всяческой java десятки тысяч файлов в установке, и куча зависимостей. Ещё в Интернет то и дело ломится, не всегда об этом извещая.
Здесь тоже F10x в фаворе, просто потому, что на них собаку съели. Хотя появилась куча альтернатив более подходящих и подешевле...

_________________
Китайская комплектация - европейское качество!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 24 янв 2020, 18:57 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 710
Так Кейл тут не причём :) Виноват компилятор, что он так педантично требует выдрочку типкастов :) Особенно этим славится С++, который даже на это ругается ошибкой:

Код:
char *buffer=malloc(N);


и требует так:
Код:
char *buffer=(char*)malloc(N);


или так:
Код:
void *buffer=malloc(N);


На обычном Cи прокатывают все три варианта.

Да, ARMCC даёт ворнинги если видит возможные ветки с неинициализируемыми переменными. Лечится принудительным зеро-инитом всей памяти и тотальным забивом на ворнинг. Или дефолтная ветка дописывается или инит переменной в самом начеле.

Пинаю свои сорцы в Visual C, mingw, Keil, TI DSP CC - и каждый компилер выёбывается в разных местах.

С метками вообще случаи забавные - иногда нужен флажок permissive, иначе метка локальная и дальше { ... } не видна ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 24 янв 2020, 19:00 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 710
Gnusmas писал(а):
Запуск Эклипсоподобного может занимать от 10 секунд до 5 (ПЯТИ !!!111) минут.


TI CCS v.6 запускается дольше с 4 ГБ рамой и 2 ядрами по 3 ГГц на семёрке. И ещё в интернет остукивает - наверное исходники ворует. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 24 янв 2020, 21:26 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 4246
Откуда: Китай, Пекин
Цитата:
char *buffer=(char*)malloc(N);

и справедливо!
да ты не офигел под плюсами делать сиподобный кастинг
для кого понапридумывали все эти static_cast

обсуждается -же совершенно другое...

_________________
unirail.org


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 24 янв 2020, 22:29 
Старожил

Зарегистрирован: 15 ноя 2015, 12:11
Сообщения: 223
RepStosw писал(а):
Виноват компилятор, что он так педантично требует выдрочку типкастов :) Особенно этим славится С++, который даже на это ругается ошибкой:

Код:
char *buffer=malloc(N);




Потому что вы делаете это без уважения. :-D

Код:
char *buffer = new char[N];


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 24 янв 2020, 22:44 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3643
cheblin писал(а):
обсуждается -же совершенно другое...

keil тут не при чём.

полагаю что у оператора ? есть тип возвращаемого значения который оказывается int и который в общем случае в отличии от просто NULL к указателю просто так у указателю сам не приводится.

default: return 42; выдаст ту же ошибку

а вот
return (pack==0) ? &meta0 : Profiler(...), NULL;
возможно скомпилируется.

ну и начиная с с++11 вроде как nullptr для этого есть.

так что в очередной раз сначала пишете какую-нибудь дичь вроде i = i++ + ++i; а потом героически преодолеваенте созданные проблемы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 25 янв 2020, 05:59 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 4246
Откуда: Китай, Пекин
_pv
Цитата:
в то время как прочие С компиляторы прекрасно воспринимают этот код.


продолжай

_________________
unirail.org


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 25 янв 2020, 15:05 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3643
cheblin писал(а):
_pv
Цитата:
в то время как прочие С компиляторы прекрасно воспринимают этот код.

продолжай

стандартов с и c++ их много, и разные компиляторы их поддерживают далеко не всегда одинаково и в полной мере.
соответственно можно писать код чтобы он более менее собирался переносимо, а можно говнокодить на грани undefined behavior и потом жаловаться какие плохие компиляторы (особенно с хз какими ключами по умолчанию).
ещё раз, ты тут жалуешься что произвольный int сам по себе не приводится к указателю. дальше можешь не продолжать.
заглядывать внутрь операторов и угадывать что там именно константа 0 вернётся, а не произвольный int, компилятор может конечно, в зависимости от уровня оптимизации, но совсем не обязан.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 25 янв 2020, 18:07 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 710
cheblin писал(а):
да ты не офигел под плюсами делать сиподобный кастинг


Нет, не офигел. Задача стояла перенести чужой С-код на С++ с наименьшими телодвижениями.

В то время как:

cheblin писал(а):
для кого понапридумывали все эти static_cast


требует больше телодвижений.


cheblin писал(а):
обсуждается -же совершенно другое...


Не важно. Здесь мы сливаем все недоразумения, возникающие по ходу пьесы с языками С/С++ в Кеил и не только.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: какое однако унылое г... это кайло
СообщениеДобавлено: 28 янв 2020, 13:38 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 710
Апну тему. Недавно штатный ARM-компилер в 4-м Кейле сюрпризов приподнёс (v. 5.06). Программа в C++ не работала. В ходе разбирательств выяснил, что не доходит до Cи-шного main().

Причина оказалась в семихостинге. С++ любит открывать мандёж по ком-порту и звездеть по нему с большим братом ПК. Даже если RS232 нет физически и он не настроен и не нужен.

Сие выкорчёвывается подсоединением файлика в проект следующего содержания:

Код:
#pragma import(__use_no_semihosting_swi)

#include <rt_sys.h>

#ifdef __cplusplus
extern "C" {
#endif

#define DEFAULT_HANDLE 0x100;

const char __stdin_name[] ="";
const char __stdout_name[]="";
const char __stderr_name[]="";

FILEHANDLE _sys_open(const char * name, int openmode)
{
    return DEFAULT_HANDLE; 
}

int _sys_close(FILEHANDLE fh)
{
    return 0; //return success
}

int _sys_write(FILEHANDLE fh, const unsigned char * buf, unsigned len, int mode)
{
 
    return 0;   
}

int _sys_read(FILEHANDLE fh, unsigned char * buf, unsigned len, int mode)
{
     return 0;       
}

void _ttywrch(int ch)
{
}

int _sys_istty(FILEHANDLE fh)
{
    return 1; // no interactive device present
}

int _sys_seek(FILEHANDLE fh, long pos)
{
    return -1; // error
}

int _sys_ensure(FILEHANDLE fh)
{
    return 0; // success
}

long _sys_flen(FILEHANDLE fh)
{
    return 0;
}

int _sys_tmpnam(char * name, int sig, unsigned maxlen)
{
    return 0; // fail, not supported
}

void _sys_exit(int returncode)
{
Loop:
goto Loop;
}

int fputc(int ch, FILEHANDLE fh)
{
        return 0;
}

#ifdef __cplusplus
}
#endif


После этого программа на C++ идёт. Приходилось работать в других средах Visual DSP и Code Composer - там с С++ всё гладко.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу 1, 2  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB