Centos7环境执行.o文件提示“-bash: ./XXX: 无法执行二进制文件”

最近测试C语言框架,自己生成的.o文件,直接执行,显示“无法执行二进制文件”

看到这种情况,一直认为是权限问题,结果查看权限,如下图,

从上图可见,所有用户都有执行core.o文件的权限。
执行二进制文件,出现无法执行二进制文件的问题,一般有以下几种情况:
  1. 非root用户或者没有执行权限
  2. 编译环境不同,处理器有差别

排除权限问题,从编译环境出发。core.o的编译环境是openwrt的gcc(aarch64-openwrt-linux-gcc),当前系统是Centos7交叉编译环境是x86_64-redhat-linux;这晾着的硬件编译环境不同,导致编译出来的二进制文件有差异,所以在Centos7上执行openwrt编译的二进制文件会报如题的错误。

以上为个人看法,如若有误,请留言提醒更正

转载请标明链接

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库。大多数操作系统将解析外部引用(比如库)作为加载过...
    小5筒阅读 5,739评论 0 3
  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 4,657评论 0 16
  • 1.描述计算机的组成及其功能 (一)计算机的组成 1.CPU 2.CPU风扇 3.BIOS 4.内存 5.硬盘 6...
    whamai阅读 1,607评论 0 1
  • 1、交叉编译 由于嵌入式系统资源匮乏,一般不能像 PC 一样安装本地编译器和调试器,不能在本地编写、编译和调...
    不配野心阅读 2,232评论 0 4
  • 图片随手拍的误认为是桃花了,班长辩认说是海棠花。见到真的再补个文字。 三月阳春,南方小城湿漉漉的空气压着胸口闷闷不...
    三颗残牙阅读 265评论 0 0

友情链接更多精彩内容