Компилирую с помощью
на x64 винде, флаг для линкера и компилятора -m32 через cmake. Но при sizeof(void*) получаю 8 байт
Посмотреть вложение 240979
process hacker показывает x86
Посмотреть вложение 240980
В чем может быть трабл?
Проблема заключается в том, что вы используете флаг -m32 для компиляции и линковки, который указывает компилятору и линкеру использовать 32-битный режим, но ваша операционная система является 64-битной, поэтому sizeof(void*) будет равен 8 байтам.
Флаг -m32 заставляет компилятор и линкер генерировать код для 32-битной архитектуры, которая имеет размер указателя 4 байта, но также требует, чтобы ваша операционная система была 32-битной. Если вы хотите использовать 32-битный режим на 64-битной операционной системе, вам необходимо использовать кросс-компиляцию.
Вам следует либо использовать флаг -m64, который заставит компилятор и линкер использовать 64-битный режим, либо установить и использовать 32-битную версию операционной системы для использования флага -m32.