Когда я пытаюсь выполнить 32-битный файл, скомпилированный с gcc -m32 main.c -o main
на Подсистема Windows для Linux, я получаю следующую ошибку: bash: ./main: cannot execute binary file: Exec format error
.Ошибка формата Exec 32-разрядная исполняемая подсистема Windows для Linux?
Если я скомпилирую его без-m32
он работает.
Любое решение для работает 32 бит исполняемого файла на WSL?
Спасибо.
'' .c' и .s' являются файлы исходного кода. Они не могут выполняться напрямую, и они, как правило, не являются выходным сигналом программы компилятора или ассемблера. – Olaf
Я знаю, я имел в виду, что я скомпилировал файл main.c и выполнил 32-разрядный исполняемый файл ./main – Ford1892
Я недостаточно уверен в этом, чтобы опубликовать его как ответ, но я * верю * WSL, сам, 64 . Вы не можете запустить 32-разрядный исполняемый файл (или загрузить 32-разрядную библиотеку) в 64-разрядном режиме. –