源码分析
文章平均质量分 96
学习优秀开源项目的源码
Once-Day
长路漫漫,一人太孤单,无人理解,独自前行,给世界留下一点微不足道的痕迹,稍微弥补曾经的遗憾。
展开
-
编码风格之(8)C++语言规范(Google风格)3.md
**最重要的一致性规则是那些控制命名的规则**。名称的风格会立即告诉我们命名实体是什么类型:类型、变量、函数、常量、宏等,而无需我们搜索该实体的声明。我们大脑中的模式匹配引擎很大程度上依赖于这些命名规则。命名规则相当随意,但我们认为一致性比个人偏好更重要,因此无论您是否认为它们合理,规则就是规则(遵循一致性)。原创 2024-10-17 21:24:52 · 1038 阅读 · 17 评论 -
编码风格之(7)C++语言规范(Google风格)2
返回类型与函数名称在同一行,参数在同一行(如果合适)。将无法放在一行的参数列表换行,就像在函数调用中换行参数一样。.........需要注意的几点:选择好的参数名称。仅当函数定义中未使用该参数时,才可以省略参数名称。如果无法将返回类型和函数名称放在一行中,请在它们之间换行。如果在函数声明或定义的返回类型后换行,请不要缩进。左括号始终与函数名称在同一行。函数名称和左括号之间永远没有空格。括号和参数之间永远没有空格。左花括号始终位于函数声明最后一行的末尾,而不是下一行的开头。原创 2024-10-11 21:01:25 · 814 阅读 · 21 评论 -
Rust(2)进阶语法
可以使用 trait 关键字来定义一个 Trait。Trait 内部可以包含方法签名、关联类型、常量等。原创 2024-10-06 21:17:22 · 1674 阅读 · 21 评论 -
Rust(1)基础语法
Rust 是一门由 Mozilla 研究院开发的系统编程语言,于 2010 年首次对外发布。经过多年的迭代和社区的共同努力,Rust 已经发展成为一门成熟、高效、安全的现代编程语言。Rust 的设计目标是提供一种兼顾安全性和性能的系统级编程语言。它引入了一些创新的概念,如所有权系统(Ownership)、借用检查(Borrow Checker)和生命周期(Lifetime),从根本上避免了常见的内存安全问题,如空指针引用、缓冲区溢出等。原创 2024-10-01 17:23:58 · 1919 阅读 · 16 评论 -
编码风格之(6)C++语言规范(Google风格)(1)
C++ 是 Google 许多开源项目使用的主要开发语言之一。每个 C++ 程序员都知道,该语言具有许多强大的功能,但这种功能也带来了复杂性,这反过来又会使代码更容易出现错误,并且更难以阅读和维护。本指南的目标是通过详细描述编写 C++ 代码的注意事项来管理这种复杂性。这些规则的存在是为了保持代码库的可管理性,同时仍然允许编码人员高效地使用 C++ 语言功能。风格,也称为可读性,是我们所说的管理 C++ 代码的约定。术语"样式”有点用词不当,因为这些约定涵盖的不仅仅是源文件格式。原创 2024-10-01 13:43:04 · 1795 阅读 · 47 评论 -
C++(2)进阶语法
模板 (C++) | Microsoft Learn类模板 | Microsoft LearnC++类模板(class template)是一种通用的类定义,允许对类的成员类型进行参数化。通过使用模板,我们可以编写独立于具体数据类型的代码,提高代码的复用性和灵活性。(1)定义类模板,类模板的定义以关键字template开头,后跟尖括号,括号内包含一个或多个类型参数。类型参数可以是类类型、内置类型或其他模板类型。在这个例子中,MyClass。原创 2024-09-21 21:49:50 · 2283 阅读 · 54 评论 -
C++(1)基础语法
C++是一种通用编程语言,由Bjarne Stroustrup在贝尔实验室工作时于1979年开始开发。C++最初被命名为"C with Classes",旨在扩展C语言以支持面向对象编程。随着时间的推移,C++不断发展,引入了许多新特性,如异常处理、模板、标准模板库(STL)等。1998年,C++第一个国际标准ISO/IEC 14882:1998发布,使其成为一种成熟、稳定且广泛使用的编程语言。原创 2024-08-31 15:59:22 · 3131 阅读 · 64 评论 -
C++(11)类语法分析(2)
Author:Once Day Date:2024年8月17日漫漫长路,才刚刚开始…全系列文章请查看专栏: 源码分析_Once-Day的博客-CSDN博客参考文档:基础类的介绍请参考文章:C++(10)类语法分析(1)-CSDN博客运算符重载是C++的一个强大特性,它允许为用户定义的类型自定义运算符的行为。通过运算符重载,我们可以使自定义类型的对象支持各种运算符,如算术运算符、比较运算符、输入输出运算符等,从而提高代码的可读性和表现力。运算符重载的语法,运算符重载的实现方式是定义一个特殊的成员函数或全局函数原创 2024-08-17 23:59:05 · 1415 阅读 · 23 评论 -
C++(10)类语法分析(1)
在C++中,类(Class)是一种用户自定义的数据类型,它将数据成员(属性)和成员函数(方法)组合在一起,形成一个逻辑上相关的实体。通过使用类,我们可以创建出具有特定行为和状态的对象。类名,类的名称。通常以大写字母开头,使用驼峰命名法。访问修饰符,控制类的成员对外部的可见性,包括public(公有)、protected(保护)和private(私有)三种。数据成员,类的属性,描述了类的状态。可以是基本数据类型、数组、指针、对象等。成员函数,类的方法,定义了类的行为。包括构造函数、析构函数、普通成员函数等。原创 2024-08-17 20:15:21 · 2363 阅读 · 100 评论 -
DPDK源码分析之(1)libmbuf模块补充
dpdk libmbuf源码分析原创 2024-07-10 23:35:20 · 1640 阅读 · 22 评论 -
DPDK源码分析之(1)libmbuf模块
mbuf(消息缓冲区)库提供了分配和释放缓冲区(mbufs)的功能,这些缓冲区可以被DPDK应用程序用来存储消息。消息缓冲区存储在一个称为mempool(内存池)的结构中,而这个内存池是通过Mempool库来管理的。通常情况下,rte_mbuf结构体用于承载网络数据包缓冲区,但实际上它可以存储任何类型的数据(例如控制数据、事件等)。为了提高性能,rte_mbuf头部结构被设计得尽可能小,目前只使用了两个缓存行(cache line),并且最常用的字段被放在第一个缓存行中。内存池(Mempool)管理。原创 2024-07-07 21:38:32 · 1159 阅读 · 13 评论 -
chrome-base源码分析(1)macros模块
chrome-base源码中macros模块是一个比较简单的模块,定义了一些简单的宏,有五个源文件,下面一一介绍。原创 2024-06-30 22:44:16 · 4715 阅读 · 52 评论