gpt4 book ai didi

c - 关于C编译器的内部逻辑

转载 作者:太空宇宙 更新时间:2023-11-04 01:42:16 26 4
gpt4 key购买 nike

当我们构建一个程序时,一些符号将在链接时解析(比如 .lib 中的符号),

但有些可以在运行时解决(那些在 .dll 中的),

我的疑问是编译器怎么知道这个,或者我们如何通知编译器这个?

最佳答案

当您链接代码时,编译器会在静态库和动态库中搜索 undefined symbol 。如果它发现动态库导出的动态符号,则将符号解析推迟到运行时;如果它找到一个静态符号,它会立即解析该符号;如果它根本找不到该符号,它会报告错误(除非您正在编译共享库,在这种情况下没关系)。

您可以使用 nm -D 检查共享库导出的动态符号。

关于c - 关于C编译器的内部逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3251908/

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