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

RHEL7环境下GCC编译后无法执行二进制文件求助

问题:RHEL7下编译的二进制文件执行报错

在RHEL7系统上使用GCC编译简单C程序,编译命令为:

gcc -o t.exe t.c

执行时使用sh t.exe命令,出现错误:

t.exe: t.exe: cannot execute binary file

关键信息

系统信息

[xxx@svr ~]$ uname -a
Linux svr 3.10.0-1160.15.2.el7.x86_64 #1 SMP Thu Jan 21 16:15:07 EST 2021 x86_64 x86_64 x86_64 GNU/Linux

GCC版本

[xxx@svr ~]$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

目标文件信息

[xxx@svr ~]$ file t.exe
t.exe: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=c367171e88d862cc02890204cc246741a51f9b17, not stripped

GCC安装情况

通过yum安装了1个主包及4个依赖包,总下载大小33M,安装大小59M。

解决方案
  • 直接执行二进制文件:无需使用sh命令,直接运行:

    ./t.exe
    

    (当前目录默认不在系统PATH环境变量中,因此必须加上./指定当前路径)

  • 错误原因:sh是用于执行shell脚本的解释器,而t.exe是ELF格式的原生二进制可执行文件,并非shell脚本。从file命令的输出可以确认,该文件是适配x86_64架构的Linux可执行程序,不需要通过shell解释器执行。

  • 权限检查(可选):如果直接执行提示权限不足,可执行以下命令添加可执行权限:

    chmod +x t.exe
    

内容的提问来源于stack exchange,提问作者motor no

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 08:12:17