c++开源库求推荐

2022-07-19 12:44:43 +08:00
 DamonLe

嵌入式工作 3 年,平时一直使用的 c 语言(因为开发都在 dsp 、单片机、内核驱动),最近尝试使用 c++开发(水平大概是精学了两遍 c++ primer ),由于习惯了面向过程编程,c++真的就用成了“带类的 c”,一言不合就单例模式。求推荐一些开源代码,想学一下优秀的设计。

1911 次点击
所在节点    程序员
12 条回复
anonymousar
2022-07-19 12:51:07 +08:00
folly ?
minami
2022-07-19 13:15:24 +08:00
看代码不推荐一上来就看 folly 、boost 、abseil 这种基础库,虽然好东西非常多,但基础库的设计思路和项目还是有区别的。推荐 Chromium ,浏览器是超复杂的项目,包罗万象,常看常新。看不过来可以只看 net 部分,就是 QUIC 协议的实现。如果不喜欢 G 家的编码风格,可以看看 FB 的 mvfst
DaTuDou
2022-07-19 14:03:33 +08:00
你头像跟我一样啊。我还以为是我发的
littlewing
2022-07-19 14:11:17 +08:00
RocksDB ?
duke807
2022-07-19 14:11:48 +08:00
單片機 hal 、內核驅動 都是面向對象的 c 編程啊
heqing
2022-07-19 14:34:41 +08:00
Chromium
agagega
2022-07-19 14:42:52 +08:00
LLVM/Clang:

- 很标准的 CMake 项目,对外部包几乎没有什么依赖,构建起来很清爽
- 社区对重构很有热情,没有积累了很多年的有味道的代码。而且项目本来就很年轻
- 编译器是一个所谓的 clean problem ,相对而言业务性没有 GUI 项目那么强
- 架构非常清晰,模块之间、平台之间用很标准的方法进行抽离
- 你应该相信写 C++编译器的人的 C++水平
neoblackcap
2022-07-19 14:42:58 +08:00
C++是一个多范式的语言,C with Class 本来就是预想设计的一部分。用好它一点问题都没有。
不是说 C++就一定要泛型到处飞的。
虽然现代 modern C++一般都会使用更多的泛型,优先使用组合而不是继承。
至于优秀的设计,不是很建议直接看那些大库,建议看看小项目。要不去看看腾讯开源的 libco?
hu8245
2022-07-19 15:52:37 +08:00
chromium 和 webkit ,感觉这两个巨无霸的代码质量稳定,另外就是经典库,boost ,folly 之类的了,其实可选的也不是很多
qieqie
2022-07-19 15:56:36 +08:00
LevelDB 吧,上面都推荐大几十万上百万行代码的项目是认真的?
zhengxiaowai
2022-07-19 20:30:01 +08:00
顶一个楼上老哥,大几十万上百万行的项目简直就灾难,还有那个推荐 LLVM 的没有编译器背景看都看不懂写的是啥,推荐网络库 muduo ,网络这个无论啥背景都会用到,代码里少,质量还行
DamonLe
2022-07-19 20:54:30 +08:00
我先从小一点的项目开始学吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/867247

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX