
C/C++
文章平均质量分 76
冷崖
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
内存泄漏检测工具-学习(一)
本文介绍了C/C++中内存泄漏问题的检测方法。内存泄漏主要发生在堆区内存分配后未释放的情况,可通过系统命令htop初步观察内存增长,但更可靠的是使用专门的内存泄漏检测工具。 作者提出了三种检测方案: 通过链表记录分配节点,但遍历效率低; 使用红黑树提高操作效率; 以文件方式记录内存分配和释放。 重点阐述了hook技术在多文件环境中的应用,通过重定义malloc/free函数,记录分配信息到文件,释放时删除对应文件,从而准确判断泄漏位置。该方法利用dlsym获取真实函数地址,__builtin_return_原创 2025-06-07 09:39:46 · 586 阅读 · 0 评论 -
死锁检测组件-学习(一)
1、两个或两个以上的线程或进程,因争夺资源而造成的一种互相等待的现象,叫做死锁。2、可以通过资源分配和请求,可以构造有向图,然后通过检测有向图是否成环。3、代码过于冗长,本来是想封装成一个有向图文件,再调用,没想到出现各种传值问题,暂时只能放在一个文件里面,后面再重新整合下。原创 2025-06-05 08:51:59 · 379 阅读 · 0 评论 -
线程池学习(一)
本文介绍了线程池的核心概念与实现。首先阐述了线程与进程的区别,指出线程池通过复用线程资源来降低系统开销。文中详细说明了线程池采用生产-消费模型的工作原理:生产者线程将任务放入队列并唤醒消费者线程,消费者线程从队列取出任务执行。重点分析了线程数量的确定方法,针对计算型和IO型任务给出了不同的设置建议。还展示了线程池的代码实现,包括任务队列、线程管理和线程唤醒机制。最后提出了优化方案,通过分离生产者和消费者队列提升并发性能。文章总结了线程池在异步任务处理和多核利用方面的核心价值,并解释了队列选择的原因。原创 2025-05-28 16:53:08 · 850 阅读 · 0 评论 -
计算平方根
C语言Math库中有个函数sqrt可以直接调用while ((scanf_s("%f", &number)) != EOF) { printf_s("%f", sqrt(number)); }也可使用数学公式来算,即为计算近似值来求,当某个近似值与前一个近似值相等时,这个值就是平方根的值设一个数列an,a1=1,a2=(a1+n/a1)/2…an=(an-1+n/an...原创 2020-02-01 17:19:34 · 698 阅读 · 0 评论 -
C++中重载、重写、重定义的区别
原文链接:https://www.cnblogs.com/weizhixiang/articles/5760286.htmlc++继承中重载、重写、重定义的区别:重载overload:是函数名相同,参数列表不同重载只是在类的内部存在。但是不能靠返回类型来判断。只在同一个类中。重写override:也叫做覆盖。子类重新定义父类中有相同名称和参数的虚函数。函数特征相同。但是具体实现不同,主要是在...转载 2019-01-05 10:58:27 · 506 阅读 · 0 评论 -
编码格式:GBK(多字节),Unicode编码,UTF-8,UTF-16,char与wchar_t(tchar)的关系
多字节编码基本可以算是GBK编码,而在C/C++,经常使用的char和string,都算是多字节编码(GBK),char类型占用一个字节,8 bit,最多可以表示256个字符。Unicode编码Unicode的学名 是"Universal Multiple-Octet Coded Character Set",简称为UCS。UCS可以看作是"Unicode Character Set"的缩写...原创 2019-03-09 16:26:58 · 1248 阅读 · 0 评论 -
c/c++字符之间进行转换
#include <windows.h>#include <sstream>#include <string>//Unicode to GBK(UTF-8 TO Char)void UnicodeToChar(char *outstr, const char *instr);//GBK to Unicode(Char to UTF-8)void C...原创 2019-03-09 19:28:24 · 289 阅读 · 0 评论 -
int const*与int * const
1. int const*int const *p与const int *p意义一样。从右往左看,进行解析,这个p是个指针,而且是个常量,类型是整型。可称为指针常量特点:*p指向一个整型的常量,但是不能通过修改p所指向内存单元的值,只能修改所指向的对象,或者通过改该对象的值。such as: int a = 10; int b = 20; int c = 55; int ...原创 2019-04-22 22:19:20 · 12123 阅读 · 2 评论 -
编程累了?来首BadApple如何?
如何使用C/C++进行实现由于最近比较累,所以打算使用控制台进行模拟实现,而不使用MFC或者Win32进行实现。使用控制台,通过符号来进行描绘。刚开始看BadApple的视频时,想使用算法,将人物使用‘#’或者‘*’进行填充,然后发现这样做太麻烦了,而且数据量特别大。于是转化将填充人物信息写成一个txt文档,在该文档中使其看起来像视频中的人物就行了。如何进行播放起初动画也是将每帧的图片素...原创 2019-05-21 12:25:07 · 1865 阅读 · 2 评论