atof, strtod и локаль.
Внезапно: а вот как положено в коде на С конвертить строку в double, если мы точно знаем, что в строке десятичный разделитель ".", и точно знаем, что код будут запускать на системе с адовыми локалями, у которых разделитель "," типа русской, белорусской итд?
В дотнете, как положено, есть функция с параметром для локали и инвариантная локаль InvariantCulture.
А в олдскульно-кошерном C как?
setlocale(LC_NUMERIC,"C"); чо-то не рекомендуют, говорят, не thread-safe.
no subject
Вот только нормальный современный GUI с динамическим обновлением и перерисовкой контролов написать нормально без секса в гамаке стоя почти нельзя. Вы наверное плохо представляете чего это такое.
Откройте в таск менеджере каком нибудь любой современный гуй и посчитайте количество потоков.
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
> прием/обработку.
Если обработка не трубет затратов проца -- то нафиг не нужно. А если требует -- то отдельный поток или отдельный процэсс -- разница существенная, и не в пользу потока.
Второе вообще не понял -- да, много дятлов используют трэды. И что?
no subject
> обновлением и перерисовкой контролов написать
>нормально без секса в гамаке стоя почти нельзя.
Подпишусь. Под всем предложэнием подпишусь! Современную GUI с динамическим хрентотам -- это по определению похожэ на секс стоя в гамаке!
И да, то, что некоторый им занимаются вовсю -- это как-то слабый аргумент, чтобы кидаться и срочно делать такжэ.