Перейти к содержанию
    

Я не против совершенствования. В этом новом компиляторе выбираются разные стандарты, вплоть до С11 и С++14. Займусь в свободное от досуга время. :biggrin:

Считайте, что полсотни ошибок на 20000 строк исходников - это и есть изредка несколько. :rolleyes:

Не зря этот компилятор не включается по умолчанию.

1. Есть С99.

2. Не путайте ошибки и предупреждения.

3. Компилятор работает файл за файлом. Так и устраняйте и ошибки и предупреждения. Если у Вас один файл в 20000 линий, то это, извините, неизлечимо. Вообще-то, надо стремитьса чтобы файл был до 500 линий.

Не берусь никого учить: научить нельзя, можно помочь научиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, не один файл. Под 20. Но все равно много строк, согласен. В новом проекте разобью мельче.

Включал и С99, естественно. В ошибки не всматривался, не до того было (см. тему). Однако, компилятор 5.06 компилирует то же без ошибок. Кто не прав?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Есть С99.

2. Не путайте ошибки и предупреждения.

3. Компилятор работает файл за файлом. Так и устраняйте и ошибки и предупреждения. Если у Вас один файл в 20000 линий, то это, извините, неизлечимо. Вообще-то, надо стремитьса чтобы файл был до 500 линий.

Не берусь никого учить: научить нельзя, можно помочь научиться.

Не знаю, у кого как, а у меня шестая версия C++ вываливает кучу варнингов и ошибок из заголовочных файлов CMSIS и STM32_DFP. Их тоже все исправлять? :rolleyes: Или надо какой-то режим компиляции правильно выбрать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Код, поставляемый STM, не подлежит обсуждению ввиду очень низкого качества.

Разбивать на файлы надо исходя из принципа инкапсуляции - только то, что совершенно необходимо. Никаких глобальных переменных, все или автоматические или статические. Для доступа из других файлов применяются функции. Кстати, большинство функций тоже статические.

Однако, компилятор 5.06 компилирует то же без ошибок. Кто не прав?

А не прав разработчик, написавший непереносимый или плохо переносимый код! Если достатпчно часто приходиться переносить разнообразные функции в совершенно другую среду - тут переносимость(portability) очень дорогого стоит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю, у кого как, а у меня шестая версия 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_ */

Ну и включать этот файл вместо оригинального естственно. Если всё еще вылезают предупреждения поотключать их дополнительно можно в этом же файле. Без этого лично мне работать очень некомфортно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Код, поставляемый STM, не подлежит обсуждению ввиду очень низкого качества.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

К сожалению, вынужден не согласиться. Этот код существенно ускоряет создание... демошки, что по определению и есть FSH(food second hand), но часто преподносится как готовый продукт. Вы можете найти требование знания и умения использования Cube к кандидатам на работу. В самом деле, так много мозгов не надо, а за мозги приходиться платить, т.е. очевидная прямая "экономия". Ну еще можно удаленно заказать в какой-нибудь Индии - вот еще экономия. Ну то, что продукт дерьмо, так его GUI украсит и, потом, он не то, чтобы совсем не работает, а так, между изредка и частенько.

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

 

А кроме шуток, я тоже использую этот продукт дле reference only - все таки он лучше их документации, написанной не по-английски, хотя английскими словами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

×
×
  • Создать...