atof, strtod и локаль.
Внезапно: а вот как положено в коде на С конвертить строку в double, если мы точно знаем, что в строке десятичный разделитель ".", и точно знаем, что код будут запускать на системе с адовыми локалями, у которых разделитель "," типа русской, белорусской итд?
В дотнете, как положено, есть функция с параметром для локали и инвариантная локаль InvariantCulture.
А в олдскульно-кошерном C как?
setlocale(LC_NUMERIC,"C"); чо-то не рекомендуют, говорят, не thread-safe.
no subject
no subject
Но если у меня коммуникация с внешними софтами/устройствами, то даже логичнее вынести в отдельный поток прием/обработку. Мало того, очень часто сторонние API/SDK это тупо регламентируют, вот пример:
"void copyProgress(OmCopyProgress* progress)
Remarks
This can be called from another thread while the copy is in progress. Note that it may not count
linearly from one frame to the next because some tracks may be omitted if, for example, the media
contains embedded audio."
no subject
no subject
no subject
no subject
no subject
no subject
> прием/обработку.
Если обработка не трубет затратов проца -- то нафиг не нужно. А если требует -- то отдельный поток или отдельный процэсс -- разница существенная, и не в пользу потока.
Второе вообще не понял -- да, много дятлов используют трэды. И что?