gnu libc源代码的一些想法

这几天因为看一个Linux的项目源代码,很多函数都是gnu libc中的代码。于是萌发了初步了解gnu libc 源代码的想法。

遇到的第一个问题是如何理清各个源代码文件夹之间的关系,第一次看源代码文件夹部分是这样的:
这里写图片描述
这个时候我是懵逼的,完全不清楚这文件之间的关系。

glibc解压之后的include文件夹是编程时主要的文件夹。而include文件夹只包含头文件,不包含各种函数和变量的定义。可以这么说,include里面的头文件是将其他模块的实现汇聚过来以方便调用。汇聚方式是通过include预处理指令例如

    #include<libio/stdio.h>

这是将libo文件夹下的stdio.h头文件引用过来,而在libio文件夹下也确实存在stdio.h和stdio.c文件。在理清这种glibc的关系之后,接下来需要做的是理解各个模块的具体含义、作用以及该模块下的一些常用函数的用法,这是一个比较耗时间的活计。如果有必要有需求接下来就要了解函数的具体事现以及自己的实现。关于c++这一系列问题将会一篇一篇写下去。

gcc一些编译问题:
1、如Linux下C程序的头文件到哪查找:
https://blog.csdn.net/lwb102063/article/details/50283507
2、gcc:预处理语句--#include和#include_next
https://blog.csdn.net/rznice/article/details/7641549
3、glibc源代码的初步阅读
https://blog.csdn.net/sulit/article/details/25539215
4、gnu c 预处理的一些知识
http://tigcc.ticalc.org/doc/cpp.html#SEC4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值