摘要: 不同的代码是如何被拼到一起协同工作的呢?所谓的静态库,动态库又是什么?编译和链接的不同在哪里?这一讲我们结合一丁点编译原理的内容,来说说链接那点事儿。 从源码到可执行文件 预处理器:将 C 语言代码(da.c)转化成 da.i 文件(gcc –E),对应于预处理命令 cpp 编译器:C 语言代码(d 阅读全文
posted @ 2022-08-19 16:48 Rogn 阅读(274) 评论(0) 推荐(1) 编辑
摘要: 你是否想多改变库代码的工作方式,不替换整个库或者重新编译它。例如,你想包裹一层malloc和free函数来记录分配的日志,为了查找内存泄露。你可以重写那段使用了malloc/free的代码,或者修改libc,这两者听起来都不是很吸引人的方式 这个教程将告诉你用自己实现的wrapper来代替库中的函数 阅读全文
posted @ 2022-08-19 11:25 Rogn 阅读(111) 评论(0) 推荐(1) 编辑