You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2 Ubuntu下执行二进制文件遇Exec format error及权限问题求助

解决WSL2中编译的C程序无法执行的问题

核心问题:编译命令参数错误

你使用的编译命令gcc -Wall -ansi -pedantic -c main.c -o main中,-c参数的作用是仅编译生成目标文件,跳过链接步骤。这导致生成的main是ELF可重定位目标文件(从file输出的relocatable标识可确认),而非可执行文件,这是执行报错的根本原因。

正确的编译命令

移除-c参数,让gcc完成编译+链接的完整流程,生成可执行文件:

gcc -Wall -ansi -pedantic main.c -o main

执行该命令后,再次运行file main,输出会显示类似ELF 64-bit LSB executable的内容,说明文件已变为可执行格式。

权限问题补充处理

如果编译后的文件仍提示权限不足,执行以下命令添加可执行权限:

chmod +x main

验证执行

完成上述步骤后,运行./main即可正常输出Hello World。

内容的提问来源于stack exchange,提问作者Lachie Raffan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 04:10:36