二进制安装与源代码编译和安装有什么区别?哪个更好?

时间:2015-03-24 15:32:29

标签: linux ros

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

1 个答案:

答案 0 :(得分:3)

来源:AKA源代码,通常在某种tarball或zip文件中。这是RAW编程语言代码。你需要某种编译器(java的javac,c ++的gcc等)来创建你的计算机然后运行的可执行文件。

优点:

  • 您可以看到源代码是什么意思....
  • 您可以编辑最终结果程序以使用不同的行为
  • 根据您正在进行的操作,在编译时,您可以启用某些优化,这些优化将在您的计算机上运行,​​并且只能在您的计算机上运行(或者完全类似于它)。例如,对于某种gfx渲染软件,您可以编译它以启用GPU支持,这将提高渲染速度。
  • 您可以为其他操作系统/芯片组创建应用程序版本(请参阅下面的二进制文件)

缺点:

  • 您必须安装编译器
  • 您需要手动安装所有必需的库,这些库通常也需要编译(并且需要安装它们的库等)。这可以轻松地将30秒的快速命令转换为一个多小时的项目。
  • 有许多事情可能出错,如果您不熟悉各种错误的含义,在线寻找支持可能会非常困难。

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

优点:

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

缺点:

  • 您无法查看/编辑源代码,因此您无法获得优化,也无法针对您的特定应用进行调整。另外,你真的不知道该程序会做什么,所以可能会有令人讨厌的惊喜等着你(这就是为什么Antivirus很有用......虽然在Linux系统上很少需要)。
  • 您的系统必须与二进制兼容。例如,您无法在32位操作系统上运行64位应用程序。您无法在较旧的基于PowerPC的G5 Mac上运行适用于OS X的英特尔二进制文件。

总之,哪一个更好"你决定。只有你可以决定哪一个是你需要做的事情。在大多数的情况下,使用二进制文件会很好,并且给你带来的麻烦最少。但有时候,如果仅提供文档,那么可以使用源代码。