3分钟彻底理解链接器

作者: 码农的荒岛求生分类: 计算机技术 发布时间: 2024-01-25 08:13:51 浏览:20854 次

3分钟彻底理解链接器

hanin123:
不需要系统或者库依赖的简单二进制好像可以跳过链接过程,比如最简单的单片机,功能多一些用别人的轮子就要了。其实有虚拟机的也需要类似的import来导入混合。

【回复】那你还是没有理解连接器[doge]
【回复】大型项目会因为项目管理甚至编译器能力的原因导致不能单文件完成功能,这时候产生的多个obj也需要链接器来做链接
【回复】编译器小白,刚下载了个gcc编译器(64位win10),设置好了环境变量并能在cmd窗口使用gcc指令,在编译一个最简单的helloworld的cpp程序时会报错no reference to“atexit”,请问这是什么原因导致的呢[酸了]
Night锋芒:
我觉得可能还少说了一个,就是链接器还得把一些程序入口的二进制文件也链接上[doge]

【回复】回复 @itman-terminal :别关注我头像,多寻思寻思怎么写好代码[doge]
神奇的魔术手套:
这个视频好像非常浅显,希望能更深入一点。链接一般包括程序各文件本身的链接,和静态库,动态库的链接吧。库本身和操作系统的关系,如何实现。感觉这些才是需要深入了解的

【回复】回复 @神奇的魔术手套 :程序员的自我修养,链接加载和库
【回复】回复 @黑芝麻葵花籽 :你说的是csapp吗,感觉没有完全全面
工程师老纪:
发现大佬一枚,以前买过您的书[星星眼]

【回复】哈哈,非常感谢你的支持[呲牙][呲牙]
FunghiApe:
这个 obj 文件图标好像是3D 文件的 obj 文件[呲牙]

【回复】回复 @码农的荒岛求生 :是的,wavefront obj...(技术美术的痛苦)
【回复】哈哈,有可能,网上找的[笑哭]
strongzhu:
这也叫做“彻底”理解?不说技术细节,项目中常遇到的一些linker的陷阱,都完全没有提…

【回复】嗯,看这期反馈,后续会补上[呲牙]
贝壳里的鬼:
准确的说,静态库并不link[doge]不是所有的情况都会link。静态库只是obj打包的一个压缩文件。他的符号定义在0,没有对应的地址信息[笑哭]

【回复】只有可执行程序和动态库才会link[doge]

计算机 C++ C语言 操作系统 编程 代码 互联网 大厂 编译器 链接器

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!