看到这种情况,一直认为是权限问题,结果查看权限,如下图,
从上图可见,所有用户都有执行core.o文件的权限。
执行二进制文件,出现无法执行二进制文件的问题,一般有以下几种情况:
- 非root用户或者没有执行权限
- 编译环境不同,处理器有差别
排除权限问题,从编译环境出发。core.o的编译环境是openwrt的gcc(aarch64-openwrt-linux-gcc),当前系统是Centos7交叉编译环境是x86_64-redhat-linux;这晾着的硬件编译环境不同,导致编译出来的二进制文件有差异,所以在Centos7上执行openwrt编译的二进制文件会报如题的错误。