c 库链接到什么点

发布于 2024-12-06 21:52:02 字数 145 浏览 1 评论 0原文

假设我在内存调试程序电围栏中重新定义了 malloc。电围栏表示必须将库与 gcc -g -Wall -Wstrict-prototypes -lefence test.c 链接起来。所以我的理解是,如果 gcc 在任何库中都找不到符号,那么它会查找 C 库。这种理解正确吗?

Let's say I redefine malloc e.g. in a memory debugging program electric fence. electric fence says that one must link the library with the gcc -g -Wall -Wstrict-prototypes -lefence test.c. So my understanding is that if gcc does not find the symbols in any of the libraries then it looks into the C libraries. Is this understanding correct?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

窝囊感情。 2024-12-13 21:52:02

是的,要了解 gcc 实际上在做什么,以及它如何启动链接器 ld 来完成链接的实际工作,您可以传递 -v 标记为 gcc

Yes, and to understand what gcc is actually doing, and how does it starts the linker ld which does the real work of linking, you can pass the -v flag to gcc.

神经暖 2024-12-13 21:52:02

我认为你是对的:链接器尝试首先使用显式作为参数传递的库来解析符号,然后在 C 标准库中查找符号。

I think you are correct: the linker tries to resolve symbols using the libraries explicitly passed as parameters first, then it's looking up symbols in the C standard libraries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文