一些大规模的 C++ 项目是如何构建的?
天蓬老师
天蓬老师 2017-04-17 13:39:49
0
1
411

我以前一直是做一些面向过程化编程的语言开发,虽然能在各个领域工作干活,但到目前为止我认为我还是一个门外汉,为了做业务而做业务,很少考虑底层是如何实现的。因为我看过一些真正商业项目的代码。一个大型商业项目,从底层最基础的线程、内存、Socket 等等管理都是自己手敲的代码。

我很想知道,关于操作系统内存管理、线程管理、异常处理、IOCP、epoll 等等这些知识,作为最初写这些代码的作者他们是从哪里了解到的这些知识的?我要走一个什么样的学习路线,才能驾驭这些东西?

当然我并不是要重复造轮子,但我一定要知道这个轮子的内部结构是什么样子的,如果轮子需要改造或者优化适应不同场景,我必须是可以搞定的。那么如果是这样,我要有一个怎样的知识体系才行?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

모든 응답(1)
刘奇

这些东西(操作系统内存管理、线程管理、异常处理、IOCP、epoll 等等这些知识)陈硕在他的muduo网络库里都有涉及,具体的学习路线则可以读读他的《Linux多线程服务端编程》。
如果真要搞清这些东西的实现,那么其实应当看看操作系统的实现,一般是看Linux的源代码或者读类似于Linux内核源代码解读这样的书,还有Minix或者BSD/Mac的源代码如果有兴趣也可以参考。不过前面说的这几个操作系统内核都是用C而非C++写的。
归根结底很多东西其实是依赖硬件实现的,要了解这些就要看组成原理、体系结构方面的书,不过一般来说,对于一个应用级程序员而言,把CSAPP看一遍就够了。

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿