我想为 Ros(机器人操作系统)安装驱动程序,我有两个选项,二进制安装和从源代码编译和安装。我想知道哪种安装方式更好,每种安装方式的优缺点是什么。
问问题
2252 次
1 回答
6
来源:AKA 源代码,通常在某种 tarball 或 zip 文件中。这是 RAW 编程语言代码。您需要某种编译器(javac 为 javac,c++ 为 gcc 等)来创建您的计算机随后运行的可执行文件。
优点:
- 你可以看看源代码是什么意思....
- 您可以编辑最终结果程序以使其表现不同
- 根据您正在做的事情,在编译时,您可以启用某些优化,这些优化将在您的机器上运行,并且仅适用于您的机器(或完全喜欢它的机器)。例如,对于某种 gfx 渲染软件,您可以编译它以启用 GPU 支持,这将提高渲染速度。
- 您可以为不同的操作系统/芯片组创建应用程序版本(请参阅下面的二进制文件)
缺点:
- 你必须安装你的编译器
- 您需要手动安装所有必需的库,这些库也经常需要编译(并且需要安装它们的库等)。这可以轻松地将一个快速的 30 秒命令变成一个多小时的项目。
- 有很多事情可能会出错,如果您不熟悉各种错误的含义,那么在线寻求支持可能会非常困难。
二进制:这是运行的实际程序。这是从源代码编译时创建的可执行文件。它们通常内置了所有必要的库,或者根据需要安装/部署它们(取决于应用程序的编写方式)。
优点:
- 它可以运行了。如果您有为您的处理器和操作系统设计的二进制文件,那么您很可能可以运行该程序,并且一切都会在第一次运行。
- 配置少。您不必设置一大堆配置选项即可使用该程序;它只是使用通用的默认配置。
- 如果出现问题,在线查找帮助应该会更容易一些,因为二进制文件是预编译的......其他人可能正在使用它,这意味着您使用的是与他们完全相同的程序,而不是针对你的系统。
缺点:
- 您无法查看/编辑源代码,因此无法针对您的特定应用程序进行优化或调整。此外,您并不真正知道该程序将要做什么,因此可能会有令人讨厌的惊喜等着您(这就是防病毒软件很有用的原因……尽管在 linux 系统上不太需要)。
- 您的系统必须与二进制兼容。例如,您不能在 32 位操作系统上运行 64 位应用程序。您不能在旧的基于 PowerPC 的 G5 Mac 上运行适用于 OS X 的 Intel 二进制文件。
总而言之,哪个“更好”取决于您。只有你可以决定哪一个对于你想要做的任何事情都是必要的。在大多数情况下,使用二进制文件会很好,并且给您带来的麻烦最少。不过,有时候,如果只是作为文档,有可用的源代码是很好的。
于 2015-03-24T16:13:00.423 回答