Installation “与”的区别是什么;二进制安装";及;从源代码“编译并安装”;?哪个更好?

Installation “与”的区别是什么;二进制安装";及;从源代码“编译并安装”;?哪个更好?,installation,binaries,Installation,Binaries,我想为Ros(机器人操作系统)安装一个驱动程序,我有两个选项:二进制安装和源代码编译安装。我想知道哪种安装更好,以及每种安装的优缺点。源代码:也称为源代码,通常以某种tarball或zip文件的形式。这是原始编程语言代码。您需要某种编译器(java的JavaC、C++的GCC等)来创建计算机运行的可执行文件。 优点: 你可以看到源代码是什么意思 您可以编辑最终结果程序,使其表现不同 根据您正在执行的操作,在编译时,您可以启用某些优化,这些优化将在您的机器上工作,并且只在您的机器上工作(或与之完

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

源代码:也称为源代码,通常以某种tarball或zip文件的形式。这是原始编程语言代码。您需要某种编译器(java的JavaC、C++的GCC等)来创建计算机运行的可执行文件。 优点:

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

  • 你必须安装你的编译器
  • 您需要手动安装所有必需的库,这些库通常也需要编译(以及它们的库需要安装,等等)。这可以轻松地将一个30秒的快速命令转换为一个多小时的项目
  • 有很多事情可能会出错,如果您不熟悉各种错误的含义,那么在网上寻找支持可能会非常困难
二进制:这是实际运行的程序。这是从源代码编译时创建的可执行文件。它们通常内置了所有必要的库,或者根据需要安装/部署它们(取决于应用程序的编写方式)

优点:

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

  • 您无法查看/编辑源代码,因此无法针对特定应用程序进行优化或调整。此外,您并不知道该程序将要做什么,因此可能会有令人不快的惊喜等待着您(这就是为什么防病毒软件很有用……尽管在linux系统上不太必要)
  • 您的系统必须与二进制文件兼容。例如,您不能在32位操作系统上运行64位应用程序。您不能在基于PowerPC的G5 Mac上运行Intel binary for OS X
总之,哪一个更好取决于你。只有你才能决定无论你想做什么都需要哪一个。在大多数情况下,使用二进制代码会很好,并且给您带来的麻烦最少。不过,有时候,有了可用的源代码是很好的,即使只是作为文档