Здравствуйте, Pavel Dvorkin, Вы писали:
СМ>>что такое "EXE проект" в терминах выполнимых файлов?
PD>EXE-проект — это проект VS, в котором собирается EXE.
т.е. никакого отношение к выполнению не имеет. имеет отношение к построению. И тогда нет там либы или есть — монопенициально.
PD>Подумай еще раз.
что тут думать — трясти надо
PD>Элементарно. Создадим потоки и в самом начале функции потока проинициализируем. Как и все tls-переменные.
PD>>>Я не говорю, что решение идеально. Просто прочитал твое сообщение и подумал — нельзя ли что-то придумать. Задача показалась интересной. Думал минут 10
СМ>>имхо это совсем не решение.
PD>Твое право так считать, но хотелось бы серьезных аргументов.
может я не понимаю что предлагается, но я вижу, что код функций из библиотеки содержится один раз во всем процессе. Это так?
Если да, то какие обертки не делай, код будет выполняться один.
Допустим, что в библиотеке одна ф-я ZZZ и её нельзя вызывать из разных потоков. Какие обертки над ней делай, её придётся вызвать! Соответственно или надо синхронихировать её вызов, и тогда о multithread забываем или приехали!
Если код дублируется, то непонятен механизм дублирования (если нет исходных текстов). И все равно могут быть проблемы, но уже из-за того, что библиотеки часто не приспособлены, иметь два кода в одном адресном пространстве.