V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
DamonLe
V2EX  ›  程序员

c++开源库求推荐

  •  
  •   DamonLe · 2022-07-19 12:44:43 +08:00 · 2163 次点击
    这是一个创建于 850 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    - 很标准的 CMake 项目,对外部包几乎没有什么依赖,构建起来很清爽
    - 社区对重构很有热情,没有积累了很多年的有味道的代码。而且项目本来就很年轻
    - 编译器是一个所谓的 clean problem ,相对而言业务性没有 GUI 项目那么强
    - 架构非常清晰,模块之间、平台之间用很标准的方法进行抽离
    - 你应该相信写 C++编译器的人的 C++水平
    neoblackcap
        8
    neoblackcap  
       2022-07-19 14:42:58 +08:00
    C++是一个多范式的语言,C with Class 本来就是预想设计的一部分。用好它一点问题都没有。
    不是说 C++就一定要泛型到处飞的。
    虽然现代 modern C++一般都会使用更多的泛型,优先使用组合而不是继承。
    至于优秀的设计,不是很建议直接看那些大库,建议看看小项目。要不去看看腾讯开源的 libco?
    hu8245
        9
    hu8245  
       2022-07-19 15:52:37 +08:00 via Android
    chromium 和 webkit ,感觉这两个巨无霸的代码质量稳定,另外就是经典库,boost ,folly 之类的了,其实可选的也不是很多
    qieqie
        10
    qieqie  
       2022-07-19 15:56:36 +08:00
    LevelDB 吧,上面都推荐大几十万上百万行代码的项目是认真的?
    zhengxiaowai
        11
    zhengxiaowai  
       2022-07-19 20:30:01 +08:00
    顶一个楼上老哥,大几十万上百万行的项目简直就灾难,还有那个推荐 LLVM 的没有编译器背景看都看不懂写的是啥,推荐网络库 muduo ,网络这个无论啥背景都会用到,代码里少,质量还行
    DamonLe
        12
    DamonLe  
    OP
       2022-07-19 20:54:30 +08:00 via iPad
    我先从小一点的项目开始学吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4568 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:57 · PVG 17:57 · LAX 01:57 · JFK 04:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.