一些大规模的 C++ 项目是如何构建的?
天蓬老师
天蓬老师 2017-04-17 13:39:49
[C++讨论组]

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

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

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

天蓬老师
天蓬老师

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

全部回复(1)
怪我咯

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号