1.想学习c++语言,侯捷侯捷首先应该开始从什么开始?
2.分享下电驴(eMule)的注释源码
想学习c++语言,首先应该开始从什么开始?
C++是源码l源非常难掌握的一门语言,想学好,码剖需要花很大的析视精力。
下面说下我自己对如何学C++的侯捷侯捷海外盲盒源码一点看法。
首先,注释可以找一本稍微薄一点的源码l源书入门,经典的码剖有《Essential C++》。掌握基本的析视语法和概念,对C++有一个初步的侯捷侯捷认识。
然后,注释就可以看《C++ Primer》了。源码l源这本书强烈推荐。码剖wpress源码查询这本书有点厚,析视需要耐心。一定要认真读完,并且尽量实现一些例子,自己动手去写,去debug。这本书吃透C++的基础基本掌握了。编写常用的程序不是问题。
接下来可以进阶了。面向对象程序设计,侯捷翻译的《深度探索C++对象模型》必读,这本书讲的是底层编译器C++面向对象 的实现原理,继承、黑河软件源码虚函数等等的机制。这本书比较有难度,个人认为需要至少读2遍。然后是《Effective C++》,讲了条准则,提高C++编程质量的。如果有一定的C++开发经验,读起来更有感触。关于泛型编程,可以先读《C++标准程序库》,对STL有个基本认识,学会使用,然后可以去研究stl源码,源码js加密侯捷的《STL源码剖析》值得推荐。源码面前,了无秘密。阅读经典源码往往能获得很大的收获。
如果有精力,可以再学学boost库,号称准标准。
说到底,学语言的最好方法还是写程序,多写,多思考~
分享下电驴(eMule)的源码
这里分享一款资源分享与下载工具——电驴,实际上应该称为电骡,这是consumer源码解析我维护的版本,eMuleVeryCD版本,VeryCD是一个不错的资源分享网站: verycd.com/。大约在年之前,中国市场流行的下载工具大约有三款:网际快车(flashget)、电驴(eMule)和迅雷,后来前两者都没落了。电驴的源码也开源了,迅雷抓住这个机会分析了电驴的下载协议(Kademlia),所以现在的迅雷也能解析电驴的下载协议,凡是能用电驴下载的链接,也能用迅雷下载。这是一些前尘往事吧。其实我蛮怀念那个时候的。
先看下软件功能截图吧。
编译方法:
1.将rcdll.dll复制到Visual Studio 安装目录的VC\bin目录中。(这是为了使用能在vista下显示的图标)
2. 用VS打开easyMule_Libs.sln,执行“生成解决方案”。(easyMule_Libs.sln里所包含的是easyMule所依赖的库文件。)
3.用VS打开easyMule.sln编译即可。
电驴服务器列表(eMule server list): gruk.org/list.php ed2k://|server|...||/
这个是我维护的easyMule版本,由于不断的修改,可能会离原来的版本越来越远。
电驴的整个工程是mfc项目,里面使用的socket通信库是filezilla作者Tim Kosse在其开源项目filezilla中使用的CAsyncSocketEx,这是一个模仿mfc的CAsyncSocket类,但据说效率高于CAsyncSocket的类。
代码特点
电驴的代码虽然设计上不是最好的,但从代码风格和命名来说绝对是非常优良的,尤其是其变量、类名、函数等命名风格,真的是赏心悦目。而且其工程中的大多数类都可以直接拿来使用,比如/p-.h...
代码获取地址
链接: pan.baidu.com/s/RQcgq...
提取码: fac3
如果你编译或者调试有问题可以私信我。
图书推荐
电驴运行于 Windows 平台,使用 C++ 开发,如果你对 Windows C/C++ 编程感兴趣,我推荐两本书,一本书:
1.《Windows 程序设计》
这本书讲述了 Windows UI 相关原理的方方面面,且语言朴实、娓娓道来,犹如一位良师益友,我当初也是看这本书进入 Windows C/C++ 开发领域的;这本书的业界地位很高,可以说这本书是中国的老一代 Windows 程序员的启蒙和进阶读物。
获取链接:
链接: pan.baidu.com/s/1BCCYjg...
提取码: g7py
2. 《Windows 核心编程》
这本书正好与上一本相互弥补,讲述的是 Windows 非 UI 部分的运行原理,内容非常丰富,当之“核心”二字无愧,图书的作者是编写 Windows Sysinternals 套件的 Jeffrey Richter,如果你没听说过 Windows Sysinternals 套件,那你一定听说过,Process Explorer:
侯捷老师评价这本书是“搞 Windows 开发,需要两样资源,一是 MSDN,一本就是《Windows 核心编程》”,这本书口碑非常好,多次重印,每一版都有一些新的改动和惊喜。
获取链接:
链接: pan.baidu.com/s/1SH1b0G...
提取码: wh
图书资源收集于网络,如需要请购买正版,侵删。
CppGuide
我目前在大厂做架构,面试和指导千人成功找到满意的 C/C++ 岗位,在学习 C/C++ 开发的过程中踩过一个又一个坑,深知新手学习 C/C++ 的困难,因此特地给 C/C++ 开发的同学精心准备了一份优质学习资料————CppGuide,内容从 C/C++ 语言、网络编程、操作系统原理到完整的项目源码分析,同时这份资料也包括 C/C++ 学习方法、推荐的阅读书籍、简历指导和求职技巧等。
Enjoy it!