linux无后缀名程序运行,linux – 如何在Ubuntu上运行无扩展(也许是ELF)文件?

我的猜测是这是64位系统上的32位编译.我使用gcc上的-m32选项将一个小的c文件交叉编译成二进制文件.这还需要一些额外的包.结果a.out看起来像这样.

% file a.out

a.out: 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]=be02470c8337b96e7deaaff323bc53865991c3ab, not stripped

将其与本机系统二进制文件进行比较

% file /bin/ls

/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, 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位运行时库.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值