C库源代码阅读(快速定位源码)
2014-12-10 17:02
239 查看
虽然一直在写Java,看了些Java类库源码之后,对一直感兴趣的C库源代码也想探索一下。倒腾了一下,在windows下终于解决了如何快速定位自己想看的C函数源码文件的方法,也有一点小收获,终结如下:
1、这里说的C库源代码是GNU glibc,网址:
这里需要说明的是源码中的printf函数前面有一个下划线,这是为了执行时方便被汇编语言调用。
3、在windows下快速定位C函数源码文件方法:
在Linux shell下同样有find命令。
4、听说windows下看源代码用source insight,正在学习,有经验者还请多指教。在Linux下采用sublime
text和ctags配合,阅读C源码非常方便。
1、这里说的C库源代码是GNU glibc,网址:
http://ftp.gnu.org/gnu/glibc/2、平时调用的C函数,在源码中是以单独文件的形式存在。例如,printf函数路径
..\glibc-2.20\stdio-common\printf.c代码如下:
#include <libioP.h> #include <stdarg.h> #include <stdio.h> #undef printf /* Write formatted output to stdout from the format string FORMAT. */ /* VARARGS1 */ int __printf (const char *format, ...) { va_list arg; int done; va_start (arg, format); done = vfprintf (stdout, format, arg); va_end (arg); return done; } #undef _IO_printf ldbl_strong_alias (__printf, printf); /* This is for libg++. */ ldbl_strong_alias (__printf, _IO_printf);
这里需要说明的是源码中的printf函数前面有一个下划线,这是为了执行时方便被汇编语言调用。
3、在windows下快速定位C函数源码文件方法:
dir C:\Users\...(glibc源文件存放路径)\glibc-2.20 /s /b | find "printf.c"执行结果如下(片段):
C:\Users\zhoujw\Desktop\glibc-2.20\glibc-2.20\stdio-common\printf.c C:\Users\zhoujw\Desktop\glibc-2.20\glibc-2.20\stdio-common\reg-printf.c C:\Users\zhoujw\Desktop\glibc-2.20\glibc-2.20\stdio-common\snprintf.c C:\Users\zhoujw\Desktop\glibc-2.20\glibc-2.20\stdio-common\sprintf.c C:\Users\zhoujw\Desktop\glibc-2.20\glibc-2.20\stdio-common\test-vfprintf.c
在Linux shell下同样有find命令。
4、听说windows下看源代码用source insight,正在学习,有经验者还请多指教。在Linux下采用sublime
text和ctags配合,阅读C源码非常方便。
相关文章推荐
- 实用的Log打印类封装,助尼快速定位源码(android)
- 实用的Log打印类封装,助尼快速定位源码(android)
- Hbase源码阅读(二) 客户端定位Region流程
- node-mongodb-native源码快速阅读-1
- 快速阅读源码方法
- 使用jdcloud-wui筋斗云前端框架如何快速定位到源码
- MyEclipse 6.5中怎么实现Ctrl+鼠标左键快速定位java源码方法?
- IndexExpandableListView快速索引定位控件的实现及源码
- Spring IOC 源码阅读之资源定位加载
- Spring源码阅读-- IOC容器资源定位
- linode上快速建立Spark源码阅读环境
- Spring IOC 源码阅读之资源定位加载
- 实用的Log打印类封装,快速定位源码(android)
- postgresql源码阅读快速上手
- 阅读go项目源码,解决无法快速找到interface有哪些struct实现问题
- 如何快速阅读源码
- 定位导致物化视图无法快速刷新的原因 分类: H2_ORACLE 2013-08-08 23:04 335人阅读 评论(0) 收藏
- Spring IOC 源码阅读之资源定位加载
- PG2 BYPASS源码阅读 学习x64解密定时器、特征码定位
- Spring源码阅读之IoC容器初始化1 -- Resource定位