development

Git 原理

git核心的原理:

  1. git工作目录的.git目录下存储了git仓库的所有内容
  2. git命令通过修改工作区内容和.git目录下的内容实现git的各种操作

Git 基础

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

c++11 特性

C++11标准是 ISO/IEC 14882:2011 - Information technology – Programming languages – C++ 的简称。 C++11标准由国际标准化组织(ISO)和国际电工委员会(IEC)旗下的C++标准委员会(ISO/IEC JTC1/SC22/WG21)于2011年8月12日公布,并于2011年9月出版。2012年2月28日的国际标准草案(N3376)是最接近于C++11标准的草案(仅编辑上的修正)。此次标准为C++98发布后13年来第一次重大修正。

官方链接 https://en.cppreference.com/w/cpp/11

c++14 特性

C++14标准是 ISO/IEC 14882:2014 Information technology – Programming languages – C++ 的简称。在标准正式通过之前,原名C++1y。 C++14标准的委员会草案N3690于2013年5月15日发表。 2014年8月18日,经过C++标准委员投票,C++14标准获得一致通过。草案文档经过一定的文字润色和修正之后,将在年内提交给ISO作为正式的C++标准发布。

官方链接 https://en.cppreference.com/w/cpp/14

CMake 基础

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。 他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。 只是 CMake 的组态档取名为 CMakeLists.txt。 Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。 这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。

cmake官方文档

CMake 基础

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。 他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。 只是 CMake 的组态档取名为 CMakeLists.txt。 Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。 这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。

DPDK 简介

DPDK 是 高效处理数据包的一系列函数和驱动。它不同于 Linux 系统以通用性设计为目的,而是专注于网络应用中数据包的高性能处理。

DPDK不使用Linux内核的协议栈处理网络数据,而是在用户空间实现了一套数据平面来进行数据包的收发与处理。在内核看来,DPDK 就是一个普通的用户态进程,它的编译、连接和加载方式和普通程序没有什么两样。

DPDK 源代码的 kernel部分采用GPL2 开源协议, 其他部分采用BSD-3 协议