luchengbiao
码龄13年
  • 81,936
    被访问
  • 30
    原创
  • 1,546,827
    排名
  • 5
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2009-04-15
博客简介:

luchengbiao的博客

查看详细资料
个人成就
  • 获得39次点赞
  • 内容获得7次评论
  • 获得121次收藏
创作历程
  • 3篇
    2020年
  • 16篇
    2019年
  • 27篇
    2018年
  • 3篇
    2017年
成就勋章
TA的专栏
  • 游戏
    1篇
  • C/C++
    26篇
  • Unity3d
    2篇
  • OpenGL
  • Qt
    18篇
  • windbg
    5篇
  • 图形学
    1篇
  • git
    1篇
  • CAD
    1篇
  • boost
    1篇
  • OS
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

2020-10-10

vs-stl实现中 std::unordered_map计算哈希值:size_type _Hashval(const key_type& _Keyval) const{ // return hash value, masked to current table size return (_Traitsobj(_Keyval) & _Mask); // size_type _Mask; // the key mask : _Mask = _Buckets ...
原创
发布博客 2020.10.10 ·
55 阅读 ·
0 点赞 ·
0 评论

Qt main函数入口

原创
发布博客 2020.06.28 ·
840 阅读 ·
0 点赞 ·
0 评论

FFmpeg没有生成blackframe avfilter的解决方法

原创
发布博客 2020.06.15 ·
208 阅读 ·
0 点赞 ·
0 评论

WinDbg命令详解--线程

线程命令是以~开始,后面跟线程id(一个windbg从0开始的一个编号),或者.,#,*等,可和其他命令混合使用。~ 简洁地显示当前进程的所有线程,~. 表示当前线程~# 表示异常或者产生调试事件的线程~* 表示所有线程~1 表示一号线程...
转载
发布博客 2019.07.05 ·
1080 阅读 ·
0 点赞 ·
1 评论

vs下支持静态变量的线程安全初始化

// Control access to the initialization expression. Only one thread may leave// this function before the variable has completed initialization, this thread// will perform initialization. All oth...
原创
发布博客 2019.06.24 ·
466 阅读 ·
0 点赞 ·
0 评论

std::shared_ptr所管理对象的析构问题

直接上代码:#include "stdafx.h"#include <memory>class Base{ // 没有虚析构函数};class Derived : public Base{public: Derived() = default; Derived(int int_) : i_(int_) {} ~Derived()...
原创
发布博客 2019.05.31 ·
1837 阅读 ·
0 点赞 ·
0 评论

地址重定位:静态重定位和动态重定位

地址重定位就是操作系统将逻辑地址转变为物理地址的过程。。。也就是对目标程序中的指令和数据进行修改的过程将逻辑地址空间重定位到物理地址空间的时机有三种:1、程序编译连接时:符号绑定,各Obj模块的相对虚拟地址空间 -->统一的虚拟地址空间;可指定一个BaseAddress以优化装载时的重定位2、程序装入内存时: 虚拟地址空间 -->虚拟地址空间;如果映像文件中的Base Ad...
转载
发布博客 2019.04.24 ·
17485 阅读 ·
22 点赞 ·
0 评论

Git进行pull时,出现please enter the commit message for your changes...

在服务端更新代码时,git pull时总是出现需要编辑一个commit messagegit status 查看了下,原来是服务端有部分代码需要commit后尚未push导致。这种问题,解决办法如下:如果你本地仓库不需要push这里编辑默认使用的vi编辑如需要修改,i进入编辑,鼠标第一行编辑默认的合并备注,编辑后按esc进入vi命令模式,:wq退出即可。如不需要修改,直接esc进入v...
转载
发布博客 2019.04.12 ·
747 阅读 ·
0 点赞 ·
0 评论

windbg之经典死锁案例 及 相关命令

1 先上死锁代码 如下:#include "stdafx.h"#include <mutex>#include <thread>#include <windows.h>// windows系统中 std::mutex内部是通过Event内核对象实现的,而不是CRITICAL_SECTIONstd::mutex mtx0;std::mutex ...
原创
发布博客 2019.04.12 ·
508 阅读 ·
2 点赞 ·
1 评论

windbg学习21(!handle和!cs)

1.查看句柄信息!handle!handle 扩展显示目标系统中一个或所有进程拥有的句柄的信息。[cpp] view plaincopy0:001>!handle Handle4 TypeDirectory Handle8 TypeFile Handlec Type...
转载
发布博客 2019.04.12 ·
136 阅读 ·
0 点赞 ·
0 评论

Windbg查看调用堆栈(k*)

https://www.52pojie.cn/thread-664189-1-1.html 无论是分析程序崩溃原因,还是解决程序hang问题,我们最常查看的就是程序调用堆栈。学会windbg调用堆栈命令,以及理解堆栈中的各个参数的意义就显得至关重要。上图就是一个典型的Windbg堆栈,如果不理解ChildEBP、RetAddr、Args to Child等参数意义,以及它们之间...
原创
发布博客 2019.04.12 ·
3108 阅读 ·
1 点赞 ·
0 评论

Qt 线程安全类,可重入类,不可重入类

1、线程安全类:不同线程对同一个类的对象进行操作,例如在不同线程调用同一个对象的类成员函数,是安全的,互不妨碍的,则说明该类是线程安全的,Qt中线程安全的类有QMutex、QMutexLocker、QReadWriteLock、QReadLocker、QWriteLocker、QSemaphore、QThreadStorage<T>以及QWaitCondition;2、可重入...
原创
发布博客 2019.04.11 ·
950 阅读 ·
0 点赞 ·
1 评论

c++无类型参数模板(non-type template parameter)

a non-type template-parameter shall have one of the following types(无类型模板参数应该是下面所列举的类型):1. integral or enumeration type(整型 或者 枚举)2. pointer to object or pointer to function(对象的指针或函数指针,其实还包括基本类型的指针)...
原创
发布博客 2019.04.08 ·
848 阅读 ·
0 点赞 ·
0 评论

C 之 void *realloc(void *mem_address, unsigned int newsize)

例如有 void* old_addr = ...; unsigned int old_size = ...; void* new_addr = realloc(old_addr, new_size)1 返回值new_addr不为NULL的情况: 1)old_addr != NULL &amp;&amp; new_size &lt; old_size:紧缩并释放后面的部分(new_...
原创
发布博客 2019.03.14 ·
181 阅读 ·
0 点赞 ·
0 评论

C++ 模板的 实例化 和 [偏]特化

最近看了看到了模板的特化,突然想起来上说的显式具体化、隐式具体化、特化、偏特化、具体化等概念弄得头晕脑胀,我在网上了找了好多帖子,才把概念给理清楚。一下是我把再网上找的资料整理一下。看着这么多叫法,其实就是三种。1. 显示实例化2. 隐式实例化3. 特化(=具体化)、偏特化一、实例化1.显示、隐式实例化什么是实例化:一个通过使用具体值替换模板参数,从模板产生的普通类...
转载
发布博客 2019.03.13 ·
468 阅读 ·
0 点赞 ·
0 评论

stl 二分查找api lower_bound upper_bound binary_search

STL中关于二分查找的函数有三个lower_bound 、upper_bound 、binary_search 。这三个函数都运用于有序区间(当然这也是运用二分查找的前提),下面记录一下这两个函数。ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp&amp; val)算法返回一个非递减序列[first, l...
转载
发布博客 2019.01.29 ·
67 阅读 ·
0 点赞 ·
0 评论

子类隐藏父类的公共方法

class QPostEventList : public QVector&lt;QPostEvent&gt;{。。。private:    //hides because they do not keep that list sorted. addEvent must be used    using QVector&lt;QPostEvent&gt;::append;    us...
原创
发布博客 2019.01.29 ·
1038 阅读 ·
0 点赞 ·
0 评论

C++11 lambda编译器实现为函数对象,编译器自动生成相应的函数对象类,捕获列表即时函数对象类的数据成员(即闭包的状态)

C++11 lambda编译器实现为函数对象,编译器自动生成相应的函数对象类,捕获列表即是函数对象类的数据成员(即闭包的状态)https://blog.csdn.net/freshui/article/details/55098799...
原创
发布博客 2019.01.18 ·
197 阅读 ·
1 点赞 ·
0 评论

boost编译

windows: boostrap.bat -----运行&amp;生成----&gt; b2.exe -----运行&amp;生成----&gt; lib/dll文件在stage/lib下 linux: boostrap.sh -----运行&amp;生成----&gt; b2 -----运行&amp;生成----&gt; so/a文件在stage/lib下 b2可配置的参数如下...
原创
发布博客 2019.01.08 ·
336 阅读 ·
0 点赞 ·
0 评论

使用setStyleSheet怎么样才不影响子组件:解决方法

使用了级联样式setStyleSheet("border-image: url(:/image/serialport.png)");结果子组件 都影响。setStyleSheet(".QWidget{border-image: url(:/image/serialport.png)}");前面加个 . 就可以单独对需要处理的出来了。...
原创
发布博客 2018.12.29 ·
1522 阅读 ·
4 点赞 ·
2 评论
加载更多