![]() |
1
11
静态链接有一个坏名声。现在我们有巨大的硬盘驱动器,还有非常结实的管道。许多支持动态链接的旧观点现在已经不那么重要了。 另外,在Linux上选择静态链接有一个很好的理由:过多的平台配置使得在没有静态链接的情况下,几乎不可能保证您的可执行文件能够跨其中的一小部分工作。 我怀疑这不会是一个流行的观点。好的但我有11年在Linux上部署应用程序的经验,在像LSB这样的东西真正起飞并扩展它的应用范围之前,Linux将继续难以在Linux上部署应用程序。在此之前,如果您必须跨多种平台运行,请静态链接您的应用程序。 |
![]() |
2
4
|
![]() |
3
3
这是对静态链接的又一次投票。我没有注意到应用程序的链接时间明显延长。所讨论的应用程序是一个~50K行的控制台应用程序,有多个库,这些库是为一堆非常普通的机器编译的,大多数是具有100-10000核的超级计算机。通过静态链接,您可以准确地知道将要使用的库,可以轻松地测试它们的新版本。 一般来说,这是大多数Mac应用程序的构建方式。它允许安装简单地将目录复制到系统上。 |
![]() |
4
1
最好由打包商决定,并在configure/make脚本中提供这两个选项。通常情况下,动态链接会优先考虑,因为在必要时,即当发现安全漏洞等时,很容易升级库。 请注意,如果您没有在系统目录中安装库的root权限,则可以编译程序,以便它首先在其他地方查找所需的动态库,这可以通过在ELF二进制文件中设置runpath指令来实现。可以使用链接器ld的-rpath选项指定这样的目录。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |