gpt4 book ai didi

c++ - 库中的可执行依赖项

转载 作者:行者123 更新时间:2023-11-30 03:10:30 25 4
gpt4 key购买 nike

共享可执行文件时,我真的需要担心用于制作该可执行文件的库吗?似乎在生成 exe 时应该考虑到这一点,而不是在必须运行它时。只是好奇。我很确定我不必担心,但想问这个问题以确保。安全总比后悔好。

最佳答案

这就是静态链接和动态链接的区别。使用静态链接,正如您所猜测的,库代码的相关部分直接包含(复制)到您的二进制文件中。使用动态链接,存在运行时依赖性;您的二进制文件将使用依赖于操作系统的技术来访问(依赖于操作系统的)共享库中的代码,例如 Win32 上的 DLL 或 Linux 上的 SO。

如果您不确定您的程序是使用静态链接还是动态链接进行编译,请查阅您的编译器文档。此外,还有一些工具可以检查二进制文件的 header 以查找“导入表”或等效项,并确定它们所依赖的共享库(如果有)。为此,我在 Linux 和 Windows 下使用带有 -x 选项的 GNU objdump

关于c++ - 库中的可执行依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3104561/

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