C/C++
文章平均质量分 91
gaussrieman123
喜欢新技术与老故事。
展开
-
详解100行c11线程池 ThreadPool.h
介绍这个大神的100行实现c11线程池,真的是相当简洁给力,偶尔会在项目里面使用,但是老实说一直是迷迷糊糊,并不清楚具体实现细节,现在有空学习了一波,记录一下,方便以后查阅。ThreadPool.h#ifndef THREAD_POOL_H#define THREAD_POOL_H#include <vector>#include <queue>#inclu...原创 2020-03-12 17:49:49 · 2018 阅读 · 3 评论 -
算法优化之c++多线程优化:思考与总结
最近的项目中要用多线程来对代码进行优化,期间查阅了一些资料,主要是踩过一些坑,在此记录一下。1.什么是线程?没有谁比维基百科说的更好了,直接点击查看:线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也...原创 2018-07-10 11:35:17 · 8912 阅读 · 1 评论 -
函数指针与回调函数
函数指针函数指针是指向函数的指针变量。通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。函数指针可以像一般函数一样,用于调用函数、传递参数。函数指针变量的声明:typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型实例1#include <stdio.h> int max(int ...转载 2019-05-10 10:33:51 · 181 阅读 · 0 评论 -
c++ __attribute__关键字
__attribute__((visibility("default")))这个关键字与gcc编译参数-fvisibility=hidden配合使用,如果使用了hidden参数,那么该.so库所有符号只对内可见,对外不可见,即使链接了这个.so库,还是不能调用其中的符合(函数等);对于大型工程,为了避免同名符号冲突(默认情况下,先链接的.so库符号会被可执行程序先链接,即如果有两个fun函数,...原创 2019-05-10 11:03:36 · 2386 阅读 · 0 评论 -
堆破坏(heap corruption)常见原因
堆破坏堆破坏是比较常见的一种错误类型,一般属于偶发性bug。由于其偶发的特性,排查起来比较困难,可能尝试改了很多地方,问题还是存在,就会比较头疼,所以最好是能对症下药,主项排查,这样会更有效率,也能在debug时保持良好的心态。常见原因数组越界,这是最常见的原因char *stuff = new char[10]; stuff[10] = 3;强制转换到一个错误的类型未初始化的指针...原创 2019-06-17 14:32:11 · 12529 阅读 · 0 评论