此文章是这个专题的开篇,由于初入 C++ 的大门,所以想着拿个项目来看看,凑巧有点基础,又想学习一下在unix上的编程,所以就找了 aria2 这个库来看看源码,希望能学到一些东西。
言归正传,今天把源码下载下来,直接检出了它的第一版源码,我打算从头看起。检出源码之后,我将它的代码性质大致分为 6 个模块,如下图所示。
这六个模块分别是:
由于是第一版程序,为了方便起见,先从依赖少的文件入手,譬如 Util 模块。
Util 模块下只有两部分:
message.h
这个文件下包含一些宏定义,这些宏定义对应一些需要使用的字符串信息,除此之外,别无他物
Util.h
以及 Util.cpp
这两个文件主要就定义了一个 Util 类,这个类主要是操纵字符串自实现。顺便一提,正因为只是一些工具性质的函数,所以就直接定义成静态类了。
主要分析一下函数的作用以及重要的实现方式,其他的一笔带过。
函数
作用
difftv(timeval,timeval)
返回两个时间片段相差的毫秒数
itos(int,bool)
同下
llitos(long long int,bool)
整形数转对应的字符串,感觉这个算法还比较有用
slice(vector<string>&,string,char)
以某一个字符拆分字符串,拆到最小单元
split(par<string,string>&,string,char)
以某一个字符拆分字符串,只拆分一次
trim(string)
暂时没发现这个函数有什么用
手机扫一扫
移动阅读更方便
你可能感兴趣的文章