Чего-то какая-то путаница возникла, по-моему...
Цитата:
Сообщение от
somebody
Размер стека кратен странице, т. е. в любом случае не меньше 4 Кб (для 32 бит), при вызовах API из потока рекомендуется от 64 Кб. Т. е. о нескольких сотнях байт речь идти не может. Умолчание вообще 1 Мб.
При чем тут размер стека и "несколько десятков-сотен байт
на один вызов"?
Цитата:
Сообщение от
somebody
Т. е., похоже, проблемы thunk'ов 32->64 могут возникнуть при недостаточных размерах стека 32-битного потока?..
Насколько мне известно, что при непосредственном вызове API, что при вызове через thunk используется один и тот же стек вызывающего потока, т.е.
отдельный какой-нить
стек мегабайтного размера (или сколько там прописано в PE-заголовке)
не создается. Соотв., накладные расходы складываются из того, что при вызове через thunk кроме несских
(десятков) байт параметров, переданных из 32-битного кода, в
тот же самый стек вызывающего потока помещается еще несско
(десятков) байт параметров, преобразованных thunk'ом для использования 64-битным кодом. Отсюда и оценка накладных расходов по памяти в несколько сот килобайт для всех созданных в системе потоков 32-битного кода.