自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 资源 (13)
  • 收藏
  • 关注

原创 Modern C++ idiom1:Copy-and-Swap

modern C++技巧:copy-and-swap

2024-01-30 21:17:57 401

原创 Modern C++ sizeof(std::tuple)的秘密及实现代码解读

std::tuple size的秘密 + 实现代码解析

2024-01-30 20:52:46 1464

原创 GDB调试技巧实战--自动化画出类关系图

GDB调试技巧实战--画出UML图

2024-01-29 18:49:01 578

原创 Modern C++ lambda表达式的本质

C++ lambda表达式的本质

2024-01-28 14:18:10 441

原创 Modern C++利用工具快速理解std::tuple的实现原理

快速理解std::tuple的实现原理

2024-01-28 13:24:47 869

原创 Modern C++ std::swap的实现原理

std::swap的实现原理

2024-01-28 08:15:00 416

原创 Modern C++ std::shared_ptr线程安全吗(二)兼谈reset()的实现原理

shared_ptr::reset的实现

2024-01-28 07:30:00 603

原创 Modern C++ std::tuple的size

sizeof(std::tuple)

2024-01-28 06:30:00 378

原创 Modern C++ std::unique_ptr的实现原理

modern C++ std::unique_ptr的实现原理

2024-01-28 06:00:00 375

原创 Modern C++ std::weak_ptr的实现原理

weak_ptr实现原理

2024-01-27 06:30:00 869

原创 Modern C++ std::shared_ptr线程安全吗(一)

std::shared_ptr线程安全吗?

2024-01-27 06:00:00 254

原创 Modern C++ std::shared_ptr的实现原理

shared_ptr的实现原理

2024-01-26 20:00:00 2019

原创 Modern C++ std::bind的实现原理-举例

Modern C++ std::bind的实现原理

2024-01-26 19:00:00 436

原创 Modern C++ std::move的实现原理

std::move的实现原理

2024-01-25 21:03:40 526

原创 Modern C++ std::bind的实现原理

modern c++ std::bind的实现原理

2024-01-25 21:02:59 1518

原创 GDB调试技巧实战--多线程&深入理解条件变量

曾经在《Modern C++ 条件变量》提到过可以用GDB来模拟线程调度来解释为什么打印“this is fun2,count=6” 而不是“this is fun2,count=5”。

2024-01-19 23:14:42 269

原创 Modern C++ 一个例子学习条件变量

一个例子中学习条件变量

2024-01-19 23:14:35 589

原创 一步步手撸一个std::function

纸上得来终觉浅,绝知此事要躬行!我们分析过std::function的实现原理,但这只是纸上谈兵。要想理解为什么这么实现,最好的办法还是想想要是自己手写一个要怎么实现。本文不想直接呈现最终版本,因为那样读者看不到某段代码是为了什么才那么写。我会搭建好几版,争取把所想所思都体现出来。

2024-01-16 23:57:26 1093

转载 转发一个modern C++实现的线程池

转发一个modern C++实现的线程池

2024-01-16 20:30:00 85

原创 std::atomic<int>的原理

atomic_int原理

2024-01-14 18:20:24 829

原创 std::function从实践到原理

std::function的原理

2024-01-14 17:57:39 1748

原创 编译glibc源码

编译glibc源码

2024-01-11 21:04:57 1181

原创 Modern C++ std::mutex底层原理

std::mutex底层原理

2024-01-11 20:41:59 5740

原创 与AI合作 -- 单例工厂2遗留的问题:bard的错误

local static变量的初始化需不需要锁保护???

2024-01-09 20:00:00 1268

原创 Modern C++ 学习资源

modern C++学习资源

2024-01-09 19:55:03 600

原创 与AI合作 -- 写一个modern c++单例工厂2

上节我们完成了一个单例工厂类,单例和工厂合到一起了。本节我们将分别实现它们,便于代码重用。

2024-01-08 20:31:57 1170

原创 与AI合作 -- 写一个modern c++单例工厂

与AI合作用modern c++写一个单例工厂

2024-01-08 19:30:00 959

原创 专栏序言-GDB高级调试技巧实战

GDB高级调试技巧实战--快速进入高手行列

2024-01-07 13:06:59 3808

原创 Modern C++ code snippets

元编程不易理解,有个在线平台可以看到模板展开的样子。此思想经常用来加解锁。

2024-01-07 11:42:17 911

原创 解密 -- 7年前我用Python抢P2P债权挣点小钱

利用编程技能挣点小钱。

2024-01-04 19:25:39 459

原创 GDB调试技巧实战--chatGPT辅助考察strace原理

GDB调试技巧实战--chatGPT辅助考察strace原理

2024-01-04 17:38:03 1436

原创 2023在吃着杀猪菜中结束

我这个观点从今年开始似乎也开始了正回馈: 首先我多年的腰疼通过跑步锻炼好了,因为腰疼好了精气神好了,我惊讶的发现我连续加班两天完全没有累的感觉(因为一个一级的问题,有加班费的哦)。以前工作上遇到问题,我会废寝忘食的去解决,但现在不同了,我会顶住各种压力尽量科学的工作。都是变成了美味肥沃的营养,滋养了别的生命。五六个壮汉围着一头300多斤的猪,一人牵尾巴,一人套头套儿,有人把四个蹄子用一条绳子拴一起,最后合力把猪推到一个铁架子上,一把长刀脖子上一捅,养了一年的猪哀号一阵子不甘心的离开了猪世间。

2024-01-02 22:29:36 495

原创 使用bpftrace+GDB尽早attach启动时间不定的进程

Bpftrace是一个基于eBPF(Extended BPF)技术的高级动态跟踪工具,主要用于监控和分析Linux系统的活动。它的特点在于使用简单易懂的声明式语言进行脚本编写,能够快速创建和运行复杂的跟踪脚本,以便捕获并分析各种有关进程、文件系统、网络、内存、CPU等方面的事件和统计信息。

2024-01-02 19:00:00 1155 2

原创 改造strace以赋予它暂停某进程的能力

改造strace以赋予它暂停某进程的能力

2024-01-02 18:30:00 979

原创 GDB调试技巧实战--判断变量或地址是否在共享内存中

GDB调试技巧实战--判断变量或地址是否在共享内存中

2023-12-24 09:42:24 933

原创 一行Python代码的威力

一行Python代码能打十个

2023-12-23 22:35:07 447

原创 GDB调试技巧实战--为release程序引入结构体定义

GDB调试技巧实战--为release程序引入结构体定义

2023-12-23 21:05:03 934

原创 GDB调试技巧实战--用Python发现release版本程序中的循环链表

GDB调试技巧实战--用Python发现release版本程序中的循环链表

2023-12-22 22:30:15 518

原创 GDB调试技巧实战--使用Python修改客户release版本生产环境内存

GDB调试技巧实战--使用Python修改客户release版本生产环境内存

2023-12-22 15:15:22 939

原创 GDB调试技巧实战--发现release版本程序中的循环链表

GDB调试技巧实战--发现release版本程序中的循环链表

2023-12-19 17:04:17 502 2

demo_of_xerces-c++_MemoryManagement

抽取xerces-c++内存管理部分代码+可作为学习demo使用。

2022-09-11

visual_Project_dependency

This Python tool will generate a graph to show the vs 2010 project dependencies. Input : 2010 vs sln file. Output: temp.png Note: 1. GraphViz must be install before using this python program. 2. This python program is developed on python 2.7, not test on python 3.x. 3. Works fine on 2010 vs sln file, not test on other versions.

2018-08-08

大机汇编宏代码展开

The expandmacro_ply.exe is a command on Windows written by Python(then convert to exe), which can expand the HLASM macro statement and can show the steps it be expanded. What can you do by it? 1.Learn how does one macro be expanded by specifed parameter --debug=true. 2. Show the expansion or compare the result given different parameters for one macro. Get the help information without parameter. C:\Users\mzhai>expandmacro_ply.exe usage: expandmacro_ply --maclib= path of maclib. First of all, You'd better download all macros in SYS1.MACLIB on one LPAR. --call= CALL_MACRO_STRING --sysndx=1 SYSNDX's value --debug=False if debug==true, more comment given eg: expandmacro_ply.exe --maclib=d:/test/sysmac23 --call=" CALL BINAALG" --sysndx=3 --debug=true Show the expansion. C:\Users\mzhai>EXPANDMACRO_PLY --maclib=d:/test/sysmac23 --call=" CPOOL BUILD,PCELLCT=10,SCELLCT=20,CSIZE=40,SP=2 +++++++++++++++++++++++++++++++++ BAS 1,*+48 .BRANCH AROUND PARAMETER LIST DC AL4(10) .PRIMARY CELL COUNT DC AL4(20) .SECONDARY CELL COUNT DC AL4(40) .CELL SIZE DC AL1(2) .SUBPOOL ID DC AL1(0) .KEY DC BL2'0000000000000000' .FLAGS DC AL4(0) .TCB ADDRESS DC XL24'00' .HEADER ESAR 15 .SAVE SECONDARY ASN STM 15,12,16(13) .SAVE REGISTERS L 15,16(0,0) .CVT ADDRESS L 15,772(,15) .ADDRESS SYSTEM LINKAGE TABLE L 15,76(,15) .OBTAIN PC NUMBER PC 0(15) .PC TO IGVCPBDP L 2,16(0,13) .RESTORE SECONDARY ASN SSAR 2

2015-03-27

LyncAddinScreenshot

Microsoft Lync 2013/2016 is a good communication tool, we can via it send attachments, draw something on Whiteboard, etc. But it doesn't have a function of screenshot. This program is an addin to Microsoft Lync 2013/2015, you can send a rectangular area of the whole screen directly to the conversat

2017-01-11

剪裁飞鸽源代码,远程命令完成后及时给你发飞秋通知你

有时候在一台远程服务器上执行需要挺长时间的程序(比如单元测试),期望程序完成后及时通知本地工作的你,然后你好去查看结果。本软件就是完成这个功能的!使用方法,如你的程序是AA.exe arg1,arg2, 则fgcmd.exe AA.exe arg1,arg2

2013-07-11

VBS dataset Internals.ppt

这篇ppt主要介绍VBS dataset内部的数据是怎么组织的, 最后还稍微介绍了如何把VBS格式的数据通过LOAD utility导入DB2. 本文是工作中总结出来的, 文中的dataset不便公开只在此说技术, 还请见谅.

2017-11-10

Addison.Wesley.Donald.E.Knuth.The.Art.of.Computer.Programming.Volume.1.pdf

Addison.Wesley.Donald.E.Knuth.The.Art.of.Computer.Programming.Volume.1.pdf

2013-07-12

Exceptional C++ Style english

author: Herb Sutter Chapter 1. Uses and Abuses of vector Solution Chapter 2. The String Formatters of Manor Farm, Part 1: sprintf Solution Chapter 3. The String Formatters of Manor Farm, Part 2: Standard (or Blindingly Elegant) Alternatives Solution Chapter 4. Standard Library Member Functions Solution Chapter 5. Flavors of Genericity, Part 1: Covering the Basis [sic] Solution Chapter 6. Flavors of Genericity, Part 2: Generic Enough? Solution Chapter 7. Why Not Specialize Function Templates? Solution Chapter 8. Befriending Templates Solution Chapter 9. Export Restrictions, Part 1: Fundamentals Solution A Tale of Two Models Illustrating the Issues Export InAction [sic] Issue the First: Source Exposure Issue the Second: Dependencies and Build Times Summary Chapter 10. Export Restrictions, Part 2: Interactions, Usability Issues, and Guidelines Solution Exception Safety Issues and Techniques Chapter 11. Try and Catch Me Solution Chapter 12. Exception Safety: Is It Worth It? Solution Chapter 13. A Pragmatic Look at Exception Specifications Solution Class Design, Inheritance, and Polymorphism Chapter 14. Order, Order! Solution Chapter 15. Uses and Abuses of Access Rights Solution Chapter 16. (Mostly) Private Solution Chapter 17. Encapsulation Solution Chapter 18. Virtuality Solution Chapter 19. Enforcing Rules for Derived Classes Solution Memory and Resource Management Chapter 20. Containers in Memory, Part 1: Levels of Memory Management Solution Chapter 21. Containers in Memory, Part 2: How Big Is It Really? Solution Chapter 22. To new, Perchance to throw, Part 1: The Many Faces of new Solution In-Place, Plain, and Nothrow new Class-Specific new A Name-Hiding Surprise Summary Chapter 23. To new, Perchance to throw, Part 2: Pragmatic Issues in Memory Management Solution Optimization and Efficiency Chapter 24. Constant Optimization? Solution Chapter 25. inline Redux Solution Chapter 26. Data Formats and Efficiency, Part 1: When Compression Is the Name of the Game Solution Chapter 27. Data Formats and Efficiency, Part 2: (Even Less) Bit-Twiddling Solution Traps, Pitfalls, and Puzzlers Chapter 28. Keywords That Aren't (or, Comments by Another Name) Solution Chapter 29. Is It Initialization? Solution Chapter 30. double or Nothing Solution Chapter 31. Amok Code Solution Chapter 32. Slight Typos? Graphic Language and Other Curiosities Solution Chapter 33. Operators, Operators Everywhere Solution Style Case Studies Chapter 34. Index Tables Solution Chapter 35. Generic Callbacks Solution Chapter 36. Construction Unions Solution Chapter 37. Monoliths "Unstrung," Part 1: A Look at std::string Solution Summary Chapter 38. Monoliths "Unstrung," Part 2: Refactoring std::string Solution Chapter 39. Monoliths "Unstrung," Part 3: std::string Diminishing Solution Chapter 40. Monoliths "Unstrung," Part 4: std::string Redux Solution Bibliography

2011-04-03

Inside the C++ object model

英文版。描述C++对象在内存中实际是咋样的。

2013-07-12

深入LINUX内核架构

英文版。详细描述了LINUX各个模块(进程、内存、锁、文件系统等)的原理

2013-07-14

Load format internal.ppt

本文介绍如何产生符合LOAD utility要求的FORMAT INTERNAL格式的行数据.

2017-11-10

Linux内核情景分析

Linux内核情景分析 上下两部全 中文版

2013-07-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除