[关闭]
@superkevingit 2016-10-10T04:08:40.000000Z 字数 910 阅读 1537

linux下的C语言编程

学习


别人的C++学习过程

比较仔细的学习了《c++primer》,并对每个习题都自己写代码实现了一遍,包括稍微复杂一点的例子。
认真读完了《effective c++》,《effective stl》。
比较仔细的学完了《数据结构与算法分析》,并把其中的每种数据结构和算法都用c++实现了一遍。包括各种线性表,树(二叉树、AVL树、RB树的各种操作),图(BFS、DFS、prim、kruskal、djkstra、floyd、拓扑排序、关键路径等)查找算法,排序算法。
2-3个月认真学完《csapp》并做完书上的课后习题(由于时间的关系,没有在做家庭作业),顺带学习了一些gcc的嵌入汇编的用法。
读完了《深度探索C++对象模型》,对象C++底层实现机制有了一定的了解。
读完了《TCP IP详解卷一》
读了《APUE》的大部分内容以及《UNP卷一》有关TCP/UDP的部分,略过了SCTP的部分。
研究学习 @陈硕的muduo网络库源码,受益良多,在期间发现过其中的一两个小问题,提了几个pull request,研究完了muduo源码后又看了其相关的书《Linux多线程服务端编程 (豆瓣)》
学习了云风的skynet网络库的小部分源码,主要为了了解actor模式和reactor的异同。
学习了google test框架的部分源码,弄懂了内部的的运行原理。
刷《剑指offer》的所有习题。
刷leetcode,代码在liyuan989/leetcode · GitHub,由于时间的关系大约刷了130道就开始找工作了。
关于练手项目,写了简易STL,C++协程库,以及一些http server,rpc之类的。

平凡的程序员: linux下的C语言开发系列博文

--

(开篇)

gcc hello.c -o hello
gcc hello.c -g -o hello
objdump -S -d ./hello

(makefile编写)

首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(link)。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注