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

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

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

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

天蓬老师
天蓬老师

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

全部回覆(1)
刘奇

這些東西(作業系統記憶體管理、執行緒管理、異常處理、IOCP、epoll 等等這些知識)陳碩在他的muduo網路庫裡都有涉及,具體的學習路線則可以讀讀他的《Linux多執行緒服務端程式設計》。
如果真要搞清這些東西的實現,那麼其實應當看看作業系統的實現,一般是看Linux的源碼或讀類似Linux核心原始碼解讀這樣的書,還有Minix或BSD/Mac的原始碼如果有興趣也可以參考。不過前面說的這幾個作業系統核心都是用C而非C++寫的。
歸根究底很多東西其實是依賴硬體實現的,要了解這些就要看組成原理、體系結構方面的書,不過一般來說,對於一個應用級程式設計師而言,把CSAPP看一遍就夠了。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!