linux – 如何在Ubuntu上运行无扩展(也许是ELF)文件?
发布时间:2020-12-14 01:05:52 所属栏目:Linux 来源:网络整理
导读:我在 Linux上获得了一个“二进制”文件,并为特定任务提供了一个单独的Windows文件.这些程序是windows上的exe.该版本的linux版本在linux上具有与Windows相同的功能. 但是,我无法执行此操作.我尝试(在终端上)只通过文件名./[filename执行它,甚至尝试chmod x [f
我在
Linux上获得了一个“二进制”文件,并为特定任务提供了一个单独的Windows文件.这些程序是windows上的exe.该版本的linux版本在linux上具有与Windows相同的功能.
但是,我无法执行此操作.我尝试(在终端上)只通过文件名./[filename执行它,甚至尝试chmod x [filename]然后尝试第二种方式. 对于一切…我得到结果:“找不到命令”. (顺便说一下,文件肯定在那里). 我应该做些什么?它上面的文件命令产生: ELF 32-bit LSB executable,Intel 80386,version 1 (SYSV),dynamically linked,interpreter /lib/ld-linux.so.2,for GNU/Linux 2.6.32,BuildID[sha1]=e805f746e65c09cc8b0c037d8a8c27ee0a6a051c 解决方法
我的猜测是这是64位系统上的32位编译.我使用gcc上的-m32选项将一个小的c文件交叉编译成二进制文件.这还需要一些额外的包.结果a.out看起来像这样.
% file a.out a.out: ELF 32-bit LSB executable,BuildID[sha1]=be02470c8337b96e7deaaff323bc53865991c3ab,not stripped 将其与本机系统二进制文件进行比较 % file /bin/ls /bin/ls: ELF 64-bit LSB executable,x86-64,interpreter /lib64/ld-linux-x86-64.so.2,BuildID[sha1]=a0823e17cafbe5b2296346216445566840fdfd88,stripped 运行a.out告诉我这个. % ./a.out zsh: no such file or directory: ./a.out 我认为,特定的“未找到命令”消息是bash打印的内容.我自己用zsh. 要使其工作,您可以安装multilib包.我没有把它缩小到确切的包,但在Debian上安装gcc-multilib可以提供你需要的一切.安装完成后,这就是我得到的. % ./a.out 3.140523 (该程序应该估计PI的价值). 注意:我实际上只需要安装gcc-multilib来编译文件.然后,我卸载了这些软件包,以模仿64位系统,该系统没有所需的32位运行时库. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – SFTP服务器上传的文件具有错误的权限
- sed – 处理备用线bash
- 不断回收的Linux和Swap空间中的交换大小不断增加?
- linux – 如何在创建用户时让puppet只设置密码?
- linux – 如何重置emacs以utf-8-unix字符编码保存文件?
- xpath – /和/ root-node之间的区别
- [Linux] PHP程序员玩转Linux系列-备份还原MySQL
- linux – 取消bash中的反向搜索失败,但保留我输入的内容
- linux – 如何从RHEL / CentOS shell验证远程Web服务器上是
- / proc / $pid / maps显示x86_64 linux上没有rwx权限的页面