首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“二进制安装”和“从源代码编译和安装”有什么区别?哪种更好些呢?

“二进制安装”和“从源代码编译和安装”有什么区别?哪种更好些呢?
EN

Stack Overflow用户
提问于 2015-03-24 15:32:28
回答 1查看 3.2K关注 0票数 1

我想为Ros (机器人操作系统)安装一个驱动程序,我有两个选项:二进制安装和从源代码编译和安装。我想知道哪个安装更好,每个安装的优点和缺点是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-24 16:13:00

Source:也就是源代码,通常位于tarball或zip文件中。这是原始编程语言代码。您需要某种编译器(javac用于java,gcc用于c++,等等)若要创建计算机随后运行的可执行文件,请执行以下操作。

优势:

  • 你可以看到源代码是什么意思.
  • 您可以编辑最终结果程序以进行不同的行为。
  • 根据您正在做的事情,在编译时,您可以启用某些将在您的机器上工作的优化,并且只在您的机器上工作(或者与您的机器完全相同)。例如,对于某种gfx渲染软件,您可以编译它以启用GPU支持,这将提高渲染速度。
  • 您可以为不同的OS/芯片组创建一个应用程序的版本(参见下面的二进制文件)

缺点:

  • 你必须安装你的编译器
  • 您需要手动安装所有必需的库,这些库也经常需要编译(以及它们的库需要安装,等等)。这可以很容易地将一个快速的30秒命令转换为一个多小时的项目。
  • 有很多事情可能出错,如果您不熟悉各种错误的含义,那么在网上找到支持可能会非常困难。

二进制:,这是运行的实际程序。这是在从源代码编译时创建的可执行文件。它们通常都内置了所有必要的库,或者根据需要安装/部署它们(取决于应用程序的编写方式)。

优势:

  • 已经准备好逃跑了。如果您有一个为您的处理器和操作系统设计的二进制程序,那么您很可能可以运行该程序,并且所有东西都将在第一次运行时正常工作。
  • 更少的配置。您不必设置大量配置选项才能使用该程序;它只是使用了一个通用的默认配置。
  • 如果出了问题,在网上找到帮助应该会容易一些,因为二进制文件是预先编译的.其他人可能正在使用它,这意味着您使用的是与他们完全相同的程序,而不是为您的系统优化的程序。

缺点:

  • 您无法查看/编辑源代码,因此无法对其进行优化,也无法针对特定的应用程序对其进行调整。此外,您并不真正知道该程序将做什么,因此您可能会遇到令人讨厌的意外(这就是为什么防病毒在linux系统上不那么必要的原因)。
  • 您的系统必须与二进制文件兼容。例如,您不能在32位操作系统上运行64位应用程序。你不能在旧的基于PowerPC的G5 Mac上运行用于OS的英特尔二进制文件。

总之,哪一个“更好”取决于你。无论你想做什么,只有你能决定哪一个是必需的。在大多数情况下,使用二进制文件将是很好的,并且给您带来最少的麻烦。但是,有时候,有可用的源代码是很好的,即使只是作为文档。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29236736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档