• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

Linxu 64位系统支持32位应用程序,但为什么无法运行?

游~游~游 2018-09-10 浏览量:1006
64位系统上跑32位程序,为什么需要安装32位库才可以,不能直接用64位的么?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 所谓64位系统兼容32位程序,本质上是采取了兼容32位的指令;这些指令跟64位指令有些出入,通常是阉割后64位指令。

    64位的库的某些操作采用了效率更高的64位指令,而32位程序用的是32位的兼容指令,不支持这些64位指令。

    既然应用程序要调用库,证明是一些动态链接的库,自然不能调用那些会翻译成64位指令的链接库


    • 发布于 2018-09-11
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:14
  • 64位电脑上标准程序是 elf64, 32位程序是 elf32,32位程序不能直接运行,也用不了 64 位库,必须安装32位库才能运行 
    • 发布于2018-09-10
    • 举报
    • 评论 0
    • 2
    • 0

  • 32位和64不兼容的,64位必须安装32位的库
    • 发布于2018-09-10
    • 举报
    • 评论 0
    • 1
    • 0

  • 主要是兼容性的问题,只有安装32位库才能运行32位程序,64位也是一样的!
    • 发布于2018-09-10
    • 举报
    • 评论 0
    • 1
    • 0

  • 其实无论linux还是windows,64位环境要运行32位程序,都有类似的构建类似运行环境的过程(装载32位运行库)。试想一个32位程序要运行,如果加载了64位的库,而库中很多需要调用的函数模块是64位地址表明的,32位程序只能处理32位地址,则调用入口都不一定准确,怎么能正常运行。
    • 发布于2018-09-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 64位系统要安装32位的兼容库才可以直接运行

    通常系统会自带基本库,你还要手动切到兼容模式运行

    • 发布于2018-09-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 64位系统处理数据是按64位的,安装了32库后,按32位处理
    • 发布于2018-09-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 64位默认的运行方式都是64位的数据,而32位程序要两个数据才够64位的
    • 发布于2018-09-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 不能,因为运行环境不同,64位系统里面地址都是64位的,32位系统里面地址是32位的,这个都需要转换的
    • 发布于2018-09-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 64位和32位指令集不一样,需要装32位库来解释指令集,windows64位其实 也包含了32位库
    • 发布于2018-09-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 64位和32位的系统指令和环境都是不一样的,两个地址也是不一样的,这个要转换后才能使用
    • 发布于2018-09-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 64位的程序当然无法在32位的机器上运行,指令集都不同,反过来就可以。
    • 发布于2018-09-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 64和32的指令集是不一样的,不能把64位的程序在32位上运行
    • 发布于2018-10-13
    • 举报
    • 评论 0
    • 0
    • 0

  • linux的64位系统默认安装64位的库,为64位应用提供接口,32位程序需要32位兼容库来支持。
    • 发布于2018-10-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

Linxu 64位系统支持32位应用程序,但为什么无法运行?