gpt4 book ai didi

ubuntu - 如何只加载程序需要的那些函数而不是加载整个 libc?

转载 作者:行者123 更新时间:2023-12-04 19:12:19 28 4
gpt4 key购买 nike

我正在学习Ubuntu上的动态链接器。我想导入我需要的libc函数,但是它链接了while libc.so文件。我不知道该怎么做,所以我来这里寻求帮助。

最佳答案

如果您将程序链接到动态库(例如 libc.so ),那么
动态库将被加载到您的程序进程中
运行。您的程序本身 - 链接器的输出文件 - 不会
包含来自 libc 的任何对象.它只包含对
要加载的运行时加载程序 libc.so进入过程并解析符号。

这就是动态链接的工作原理。如果您只想在程序中包含来自 libc 的对象那它
需要那么你需要链接libc的静态版本,即 libc.a .那会
是不寻常的并且是不必要的,除非你有特殊的理由
未链接 libc动态的。静态链接它不会使您的程序
更小。它会变得更大,因为来自 libc 的对象它需要被嵌入
在链接时。

关于ubuntu - 如何只加载程序需要的那些函数而不是加载整个 libc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51260637/

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