![]() |
1
31
我不知道在哪里可以找到历史文献,但是是的, static linking 已经死在GNU系统上了(我相信它在从libc4/libc5到libc6/glibc2.x的转换过程中消亡了。)
|
![]() |
2
47
我认为这是非常烦人的,我认为称一个特性为“无用”是傲慢的,因为它在处理某些用例时有问题。glibc方法的最大问题是它硬编码到系统库(gconv以及nss)的路径,因此当人们试图在Linux发行版上运行一个静态二进制文件时,它就会中断,而Linux发行版与它的构建版本不同。 不管怎样,你可以通过设置gconv\u路径来解决gconv的问题,这样我就可以在Ubuntu上构建二进制文件并在redhat上运行它们。 |
![]() |
3
28
静态链接又开始上升了! |
![]() |
4
26
但其他人不应该把大部分时间花在这上面。静态链接将使您远离库搅动。开发人员可以根据软件的时间表升级软件的依赖项,而不是在出现新的库版本时就被迫升级。这对于具有复杂用户界面的面向用户的应用程序非常重要,这些应用程序需要控制它们不可避免地依赖的许多较低级别库的流量。这就是为什么我总是喜欢静态链接。如果你能静态链接交叉编译的便携式C和C++代码,你就可以使世界变得更像牡蛎,因为你可以更快地将复杂的软件交付到世界上不断增长的各种设备中。
|
![]() |
5
13
仅仅因为你必须动态链接到NSS服务并不意味着你 不能 一些 动态链接库。并不是说静态链接“不可能”或者“不起作用”。 |
![]() |
6
12
添加其他答案:
根据斯大利的描述:
你可以阅读更多关于它的文章 this question about static vs dynamic linking . |
![]() |
Darky · 多重定义…c++vsCode[重复] 2 年前 |
![]() |
Ty Q. · 分段故障GLFW3/GLAD 2 年前 |
![]() |
Noè Murr · 如何获得C函数的基本编译二进制代码? 2 年前 |
![]() |
AvirukBasak · gcc中无return语句的尾部递归 2 年前 |
![]() |
hepl · gcc如何决定在创建可执行文件时使用dynamics库? 3 年前 |