Replies (5)

  • @stanislavv, Это с каким-нибудь newlib линковка не пережила?
  • @Kim, С ним. Там, правда, ещё и libopencm3 и freertos участвовали. Вобщем, пока обойдусь — код занимает меньше 20% флеша и в этом месте оптимизация преждевременна.
  • @stanislavv, Там с LTO главная шляпа что все использованные куски должны быть с LTO иначе может что-то работать странно. То есть стоит собрать с LTO и newlib, и libopencm3, и freertos.
  • @Kim, Тогда пока точно ну его на, ибо newlib у меня из пакетов. Припрёт — буду разбираться. А пока — мне б вначале вспомнить сам язык C, блин... Не писал лет 6-7, да и раньше-то не особо сложное делал...
  • @stanislavv, Язык Си простой. Если ты можешь ответить на вопрос почему max1 не равен max2 в следующемпримере:

    long int max1 = (long int) (((uint16_t) 0) — ((uint16_t) 1));

    uint16_t n = (((uint16_t) 0) — ((uint16_t) 1));
    long int max2 = (long int) n;

    то ты скорее всего знаешь Си вплоть до мелких трюков.