gpt4 book ai didi

linux - 在初始 ram 文件系统上从源安装包

转载 作者:太空宇宙 更新时间:2023-11-04 11:35:37 25 4
gpt4 key购买 nike

我正在尝试将多个包安装到初始 ram 文件系统中。我使用 uclibc 作为我的 C 库。这可能是一个愚蠢的问题,但是......

编译后的程序是否还需要在 initramfs 上安装一个 C 库?

我认为当一个程序从源代码编译时,它被编译成某种可执行文件,我的想法是否正确? initramfs 上的应用程序是否可以在我完成 make install 后运行(使用正确的前缀并提供依赖项)?

最佳答案

编译后的程序是否需要 C 库 - 或任何类型的库,就此而言 - 取决于它是如何linked .

一般来说,如果你的程序被链接statically那么它就没有任何外部依赖性——它只需要一个工作内核。它所依赖的任何库的可执行代码都将被合并到最终的可执行文件中。

如果,另一方面,它是链接 dynamically , 那么它仍然需要 shared object它所依赖的库的文件。在 Linux 上,大多数库共享对象(也称为 共享库)遵循文件名带有 .so 扩展名或通常为 的约定*.so.* 格式。例如 /lib/libssl3.so/lib/libncurses.so.5.9 都是我系统上的共享库。

也可以有一个可执行文件静态链接到一些库和动态链接到其他库。发生这种情况的常见情况是静态链接稀有或专有库,而动态链接标准系统库。

关于linux - 在初始 ram 文件系统上从源安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8085378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com