linux无后缀名程序运行,linux – 如何在Ubuntu上运行无扩展(也许是ELF)文件?
我的猜測(cè)是這是64位系統(tǒng)上的32位編譯.我使用gcc上的-m32選項(xiàng)將一個(gè)小的c文件交叉編譯成二進(jìn)制文件.這還需要一些額外的包.結(jié)果a.out看起來(lái)像這樣.
% 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
將其與本機(jī)系統(tǒng)二進(jìn)制文件進(jìn)行比較
% 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
運(yùn)行a.out告訴我這個(gè).
% ./a.out
zsh: no such file or directory: ./a.out
我認(rèn)為,特定的“未找到命令”消息是bash打印的內(nèi)容.我自己用zsh.
要使其工作,您可以安裝multilib包.我沒(méi)有把它縮小到確切的包,但在Debian上安裝gcc-multilib可以提供你需要的一切.安裝完成后,這就是我得到的.
% ./a.out
3.140523
(該程序應(yīng)該估計(jì)PI的價(jià)值).
注意:我實(shí)際上只需要安裝gcc-multilib來(lái)編譯文件.然后,我卸載了這些軟件包,以模仿64位系統(tǒng),該系統(tǒng)沒(méi)有所需的32位運(yùn)行時(shí)庫(kù).
總結(jié)
以上是生活随笔為你收集整理的linux无后缀名程序运行,linux – 如何在Ubuntu上运行无扩展(也许是ELF)文件?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 广发信用卡网上银行还款什么时候到账
- 下一篇: linux 挂载32T文件系统,linu