为什么要阅读吸收github上的开源项目?
大家平常的知识来源都是社区,教程,文章,分享的视频,而github上全球优秀的大佬都在上面,他们的技术实力主要是以开源项目形式存在,高质量的内容和核心技术都在开源项目上。
当你有以下想法【情况】或或是目标的时候;
一、CRUD多年,技术长期停滞不前,技术遇到瓶颈
二、CRUD多年,简历上还是写着跟培训的新人一样做过XXX项目,熟悉XXX技术栈,同新人岗位竞争技术优势不是很明显
三、想做底层项目积累实力进大厂
四、想做开源项目积攒技术经验,构建个人技术力量,打造个人技术影响力和IP,寻找更多的机会
五、长期做业务CRUD技术力量发展薄弱,没有做过大量的底层项目
阅读C/C++为核心的开源项目的前置必备知识
为什么是C/C++项目呢,因为它是互联网领域的核心基石,也是最有技术含量的东西
一、熟悉/c/c++/asm
二、熟悉linux操作系统
三、学习内功修炼 即学习掌握X86汇编语言和GDB程序调试工具对于程序员来说是非常重要的_gdb 查看x86汇编-CSDN博客
四、内功修炼课程是基于LINUX环境为基础,作为程序员研究吸收消化以C/C/++/ASM为技术栈开源项目的核心必备前置知识,对于阅读和研究消化吸收以下开源项目是必备前置准备
五、学习掌握编译器和虚拟机的开发有哪些方面的好处_在虚拟机上进行程序开发的好处-CSDN博客
哪要阅读吸收哪种开源项目呢?
互联网的核心基石主要是C/C++/ASM,比如下面的开源项目
C/C++实现的编译器工具和框架
-
GCC (GNU Compiler Collection)
- GCC是GNU项目的一部分,包含了多个编译器前端,如GCC C、GCC C++、GCC Objective-C等。GCC是自由软件,广泛应用于Linux和其他类Unix系统中。
-
Clang
- Clang是LLVM项目的一部分,是一个C/C++/Objective-C编译器前端,旨在提供更快的编译速度和更好的诊断信息。它与LLVM后端一起工作,生成优化的机器码。
-
LLVM
- LLVM是一个模块化、可重用的编译器基础设施集合,包括一系列工具和库,如opt(优化器)、llc(后端编译器)、lld-link(链接器)等。LLVM被许多其他编译器项目所使用,如Clang和Apple的Xcode。【基于该工具实现的编程语言很多,比如宣称的某国产语言 php内核团队也有人参与了此项目的维护】
-
Microsoft Visual C++ Compiler
- 微软的Visual C++编译器是Visual Studio的一部分,提供了对现代C++标准的广泛支持。它也包含在Windows SDK中,用于Windows平台的开发。
-
Intel C++ Compiler
- Intel C++ Compiler是英特尔公司开发的,针对Intel架构进行优化,支持C++11至C++20标准,并提供了额外的并行和矢量化优化。
-
GCCXML
- GCCXML是一个为GCC编译器设计的XML输出插件,用于生成C++类和函数的XML描述文件,这有助于IDE和代码分析工具理解C++源代码。
-
PCC (Portable C Compiler)
- PCC是一个小型的C编译器,设计用于嵌入式系统,虽然功能有限,但在资源受限的环境中很有用。
-
EDG (Evans & Sutherland's Design Group)
- EDG提供了一个C/C++预处理器和前端解析器,被许多商业编译器和IDE采用,用于语法检查和代码分析。
-
OpenWatcom
- OpenWatcom是一个开源的C/C++编译器套件,特别适合用于老旧的DOS和Windows 9x系统上进行开发。
-
CMAKE
- 虽然本身不是一个编译器,但CMake是一个跨平台的自动化构建系统,用于管理多步骤的编译过程。它生成各种编译器的构建文件。
-
MSYS2
- MSYS2是一个为Windows系统提供的Unix-like shell环境,包含了一个完整的GCC编译工具链,用于在Windows上构建Unix-like源码。
-
MinGW
- MinGW(Minimalist GNU for Windows)是一个使GCC能够在Windows上运行的环境,用于生成原生的Windows可执行文件。
-
GNU Binutils
- Binutils是GCC的一部分,包括一系列工具,如as(汇编器)、ld(链接器)、objdump(二进制文件查看器)等。
-
Flex & Bison
- Flex是一个词法分析器生成器,Bison是一个语法分析器生成器,它们通常用于创建编译器的词法和语法解析部分。
这些工具和框架不仅用于编译C/C++代码,还经常用于构建其他语言的编译器和解释器以及数据库等。
AI 框架底层库
- TensorFlow: 虽然主要使用 Python 接口,但 TensorFlow 的核心引擎是用 C++ 编写的。
- Caffe: 专为计算机视觉设计,使用 C++ 和 CUDA 加速 GPU 计算。
- Torch: 使用 Lua 脚本语言,但其底层库(如 THNN 和 THCUNN)使用 C 和 CUDA。
- Dlib: 提供了机器学习算法,包括深度神经网络,主要使用 C++。
- MLPack: 一个快速、灵活的机器学习库,使用 C++ 构建。
计算机视觉库
- OpenCV: 广泛使用的计算机视觉库,支持图像和视频处理。
- ITK (Insight Segmentation and Reg