Size: a a a

2020 December 21

L

LexsZero in Embedded Group
да. есть strtok_r не юзающий статического стейта внутри. но вообще и то и другое говно сомнительной полезности и проще либо свое навертеть, либо взять что-то готовое типа вариаций readline
источник

AJ

Arm Jedi in Embedded Group
LexsZero
да. есть strtok_r не юзающий статического стейта внутри. но вообще и то и другое говно сомнительной полезности и проще либо свое навертеть, либо взять что-то готовое типа вариаций readline
А как насчёт sscanf? Да пользуюсь либо она вся внутри на strtok. Блин... Ад...
источник

VG

Vladislav Grishenko in Embedded Group
Arm Jedi
Ещё подскажите функция strtok. Так не могу толком понять как она работает. У неё какие-то статические переменные в теле которые обновляют указатели? Если кто сталкивался с strtok. Или подскажите удобную либу работы со строками
первый раз вызываешь со строковым буфером, для следующего токена - с NULL. последовательные разделители съедаются (в отличии от strsep), _r - тредсейф, буфер корраптится. все просто
источник

VG

Vladislav Grishenko in Embedded Group
sscanf в разы медленнее за счет парсинга, при парсинге строк если не указывать лимиты легко проехаться по стеку, если использовать поинтеры - не вовсех имплементациях *libc поддерживаются
источник

AJ

Arm Jedi in Embedded Group
Vladislav Grishenko
первый раз вызываешь со строковым буфером, для следующего токена - с NULL. последовательные разделители съедаются (в отличии от strsep), _r - тредсейф, буфер корраптится. все просто
Буфер и при _r кораптится? За счёт вставок /0?
источник

VG

Vladislav Grishenko in Embedded Group
буффер всегда корраптится за счет вставок \0
источник

VG

Vladislav Grishenko in Embedded Group
источник

AJ

Arm Jedi in Embedded Group
Vladislav Grishenko
буффер всегда корраптится за счет вставок \0
Спасибо -). Надо http запрос разбирать на кусочки... А скорости с головой и для scanf хватает. А че за лимиты?
источник

VG

Vladislav Grishenko in Embedded Group
Arm Jedi
Спасибо -). Надо http запрос разбирать на кусочки... А скорости с головой и для scanf хватает. А че за лимиты?
источник

VG

Vladislav Grishenko in Embedded Group
юзай libcurl лучше
источник

AJ

Arm Jedi in Embedded Group
Vladislav Grishenko
юзай libcurl лучше
дак на stm32...она наверное жирная сильно будет
источник

VG

Vladislav Grishenko in Embedded Group
вполне возможно
источник

LZ

Leonid Zaliubovskii in Embedded Group
эх, стоило только отойти и проблему раздебажили. :(

В любом случае, отличный пример как адекватное описание проблемы позволяет найти решение
источник

LZ

Leonid Zaliubovskii in Embedded Group
Arm Jedi
дак на stm32...она наверное жирная сильно будет
tinyCURL поможет. То что я игрался с ней, в свое время остались только приятные впечатления

https://curl.se/tiny/
источник

LZ

Leonid Zaliubovskii in Embedded Group
источник

AJ

Arm Jedi in Embedded Group
Leonid Zaliubovskii
tinyCURL поможет. То что я игрался с ней, в свое время остались только приятные впечатления

https://curl.se/tiny/
О. Спасибо. Гляну
источник

AJ

Arm Jedi in Embedded Group
tiny-curl itself requires about 20K of dynamic memory (but using more may speed up transfers).  Вряд ли подойдёт мне так как у f103 всего 20к...
источник

A

Alexander in Embedded Group
Arm Jedi
tiny-curl itself requires about 20K of dynamic memory (but using more may speed up transfers).  Вряд ли подойдёт мне так как у f103 всего 20к...
Но есть возможность подключить внешнюю оперативу )
источник

AJ

Arm Jedi in Embedded Group
Alexander
Но есть возможность подключить внешнюю оперативу )
Нету-( gpio мало
источник

MP

Max Payne in Embedded Group
Alexander
Но есть возможность подключить внешнюю оперативу )
не очень хорошо, когда софтварные проблемы драйвят хардварные ченджи)
источник