let's see 0 30 июля, 2016 Опубликовано 30 июля, 2016 · Жалоба Я не против совершенствования. В этом новом компиляторе выбираются разные стандарты, вплоть до С11 и С++14. Займусь в свободное от досуга время. Считайте, что полсотни ошибок на 20000 строк исходников - это и есть изредка несколько. :rolleyes: Не зря этот компилятор не включается по умолчанию. 1. Есть С99. 2. Не путайте ошибки и предупреждения. 3. Компилятор работает файл за файлом. Так и устраняйте и ошибки и предупреждения. Если у Вас один файл в 20000 линий, то это, извините, неизлечимо. Вообще-то, надо стремитьса чтобы файл был до 500 линий. Не берусь никого учить: научить нельзя, можно помочь научиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 31 июля, 2016 Опубликовано 31 июля, 2016 · Жалоба Нет, не один файл. Под 20. Но все равно много строк, согласен. В новом проекте разобью мельче. Включал и С99, естественно. В ошибки не всматривался, не до того было (см. тему). Однако, компилятор 5.06 компилирует то же без ошибок. Кто не прав? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 31 июля, 2016 Опубликовано 31 июля, 2016 · Жалоба 1. Есть С99. 2. Не путайте ошибки и предупреждения. 3. Компилятор работает файл за файлом. Так и устраняйте и ошибки и предупреждения. Если у Вас один файл в 20000 линий, то это, извините, неизлечимо. Вообще-то, надо стремитьса чтобы файл был до 500 линий. Не берусь никого учить: научить нельзя, можно помочь научиться. Не знаю, у кого как, а у меня шестая версия C++ вываливает кучу варнингов и ошибок из заголовочных файлов CMSIS и STM32_DFP. Их тоже все исправлять? :rolleyes: Или надо какой-то режим компиляции правильно выбрать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
let's see 0 31 июля, 2016 Опубликовано 31 июля, 2016 · Жалоба Код, поставляемый STM, не подлежит обсуждению ввиду очень низкого качества. Разбивать на файлы надо исходя из принципа инкапсуляции - только то, что совершенно необходимо. Никаких глобальных переменных, все или автоматические или статические. Для доступа из других файлов применяются функции. Кстати, большинство функций тоже статические. Однако, компилятор 5.06 компилирует то же без ошибок. Кто не прав? А не прав разработчик, написавший непереносимый или плохо переносимый код! Если достатпчно часто приходиться переносить разнообразные функции в совершенно другую среду - тут переносимость(portability) очень дорогого стоит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 31 июля, 2016 Опубликовано 31 июля, 2016 · Жалоба Не знаю, у кого как, а у меня шестая версия C++ вываливает кучу варнингов и ошибок из заголовочных файлов CMSIS и STM32_DFP. Их тоже все исправлять? :rolleyes: Или надо какой-то режим компиляции правильно выбрать? Если предупреждения из-за того что включили педантичный режим, то можно например так: // core_cm0_wo_warn.h: #ifndef CHIP_CORE_CM0_WO_WARN_H_ #define CHIP_CORE_CM0_WO_WARN_H_ #if defined(__GNUC__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wpedantic" #include "core_cm0.h" #pragma GCC diagnostic pop #elif defined(_MSC_VER) #else #error Included core_cm0_wo_warn but not __GNUC__! #endif #endif /* CHIP_CORE_CM0_WO_WARN_H_ */ Ну и включать этот файл вместо оригинального естственно. Если всё еще вылезают предупреждения поотключать их дополнительно можно в этом же файле. Без этого лично мне работать очень некомфортно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 1 августа, 2016 Опубликовано 1 августа, 2016 · Жалоба Код, поставляемый STM, не подлежит обсуждению ввиду очень низкого качества. Так он поставляется не для того, чтобы использовать в проектах, а только для примера и когда есть какие-то непонятки по даташитам и что-то не работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
let's see 0 1 августа, 2016 Опубликовано 1 августа, 2016 · Жалоба Так он поставляется не для того, чтобы использовать в проектах, а только для примера и когда есть какие-то непонятки по даташитам и что-то не работает. К сожалению, вынужден не согласиться. Этот код существенно ускоряет создание... демошки, что по определению и есть FSH(food second hand), но часто преподносится как готовый продукт. Вы можете найти требование знания и умения использования Cube к кандидатам на работу. В самом деле, так много мозгов не надо, а за мозги приходиться платить, т.е. очевидная прямая "экономия". Ну еще можно удаленно заказать в какой-нибудь Индии - вот еще экономия. Ну то, что продукт дерьмо, так его GUI украсит и, потом, он не то, чтобы совсем не работает, а так, между изредка и частенько. Кроме того, силикон развивается быстро и за ним без Индии не угнаться, а что ожидать оттуда?! Опыт подсказывает, что миллиард населения хочет жрать, ну и надо этот миллиард создавать. А кроме шуток, я тоже использую этот продукт дле reference only - все таки он лучше их документации, написанной не по-английски, хотя английскими словами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться