深入理解计算机系统读书笔记
文章平均质量分 72
收集一些在CSAPP中获取的新知识
WoLannnnn
沉淀……
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
静态链接与动态链接
文章目录静态链接动态链接说起静态链接和动态链接,大家肯定都不陌生。静态链接与动态链接的差别顾名思义,动态链接使动态库中的函数在程序运行后,才被用到;而静态链接则在运行前,就将所需函数合并了。我们来看看两者在 Linux 下的定义:静态链接静态链接:Linux 下的静态链接器(static linker)以一组可重定位目标文件和命令行参数作为输人,生成一个完全链接的、可以加载和运行的可执行目标文件作为输出。所有的编译系统都提供一种机制,将所有相关的目标模块打包成为一个单独的文件,称为静态库(stat原创 2022-04-19 19:08:14 · 2671 阅读 · 20 评论 -
在多文件中C语言中全局变量的重定义
首先我们看一下下面这两个代码:test.c 中:test1.c中:此时我们编译并运行:编译通过,并且打印出了10,这是为什么呢?这就涉及到了链接器解析多重定义的全局符号了。Linux 链接器处理多重定义的符号的规则上述结果是我们在 VS2019下测试的, Linux 链接器处理多重定义的符号的规则为:不允许有多个同名的强符号如果有一个强符号和多个弱符号同名,选择强符号如果有多个弱符号同名,则从这些弱符号中随机选择一个首先,什么是强符号,什么是弱符号?强符号:函数和已初始化的全原创 2022-04-18 13:05:40 · 3186 阅读 · 28 评论
分享