LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

выделяется на стеке три массива длинной в WCHAR_MAX

и все же интересно как этот код в визуалстудии работал, если посчитать то такой огромный массив это более 30 гигабайт памяти.
Возможно винда более продвинута и виртуальную память выделяет только по реальной необходимости, а не сразу жестко, согласно коду. Но вроде то же самое делает и линукс (не уверен 100% но косвенно похоже что это тоже так).

Всё гораздо прощё.

Вот такой код

#include <cstdint>
#include <iostream>
int main()
{
        std::cout << WCHAR_MAX << std::endl;
}

выведет на Linux:

./a.out
2147483647
на Windows:
./a.exe
65535
Поэтому на Windows возможно всё влазит даже в стандартный стек...

Исходная версия fsb4000, :

и все же интересно как этот код в визуалстудии работал, если посчитать то такой огромный массив это более 30 гигабайт памяти.
Возможно винда более продвинута и виртуальную память выделяет только по реальной необходимости, а не сразу жестко, согласно коду. Но вроде то же самое делает и линукс (не уверен 100% но косвенно похоже что это тоже так).

Всё гораздо прощё.

Вот такой код

#include <cstdint>
#include <iostream>
int main()
{
        std::cout << WCHAR_MAX << std::endl;
}

выведет на Linux:

./a.out
2147483647
на Windows:
./a.exe
65535
Поэтому на Windows возможно всё влазит даже в стандартный стек...