gpt4 book ai didi

c++ - 在 Linux 下,C++ 源代码如何成为可执行文件或静态/动态库。以及程序在运行时如何加载到内存中

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:24:57 24 4
gpt4 key购买 nike

我知道源代码可以编译并链接到共享/静态库或 ELF 可执行文件。当程序运行时,它会加载到内存中并根据 ELF 格式创建进程镜像。但我不确定程序如何加载共享库。链接器如何在外部库中查找符号以及 .a 存档如何工作。如果程序在 64 位操作系统上运行,我还应该知道什么?

我正在尝试绘制它的全貌。有人可以就整个事情进行一般性讨论并提供引用/文档/链接,以便我可以一一研究。

提前致谢。

我想我的问题可以描述为:

在 Linux 下,C++ 源代码如何变成可执行文件或静态/动态库。以及程序在运行时如何加载到内存中。非常详细!

我可以使用多少工具来检查/操作 Linux 二进制文件(可执行文件和库)?我知道一些是“nm”“readelf”。

最佳答案

关于c++ - 在 Linux 下,C++ 源代码如何成为可执行文件或静态/动态库。以及程序在运行时如何加载到内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9494182/

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