自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (12)
  • 收藏
  • 关注

转载 位域全解析

https://www.cnblogs.com/maowang1991/p/3656072.htmlhttps://blog.csdn.net/qq_35629563/article/details/80855785https://blog.csdn.net/mydreamremindme/article/details/10285533

2018-09-30 15:30:34 349

原创 关于大小端的问题

讨论大小端的问题就是在讨论低字节存储在低地址还是高地址的问题大小端记忆方式:1、小端模式:低字节存储在低地址上2、大端模式:低字节存储在高地址上例题:unsigned int a= 0x1234; unsigned char b=*(unsigned char *)&a; 在32位大端模式处理器上变量b等于()?解析:unsigned int a= 0x1234的32位...

2018-09-30 14:13:56 467

转载 C/C++基础知识总结1

转载:https://blog.csdn.net/taoyanqi8932/article/details/56841134 https://blog.csdn.net/black_yu/article/details/50932099 https://blog.csdn.net/Eastmount/article/details/22224949

2018-09-30 11:22:10 172

转载 无符号位移和有符号位移

转载:https://blog.csdn.net/BushQiang/article/details/79394211           https://blog.csdn.net/qq_26129689/article/details/50640293无符号位移(>>>、<<<)和有符号位移(>>、<<)关于数的移位,特别...

2018-09-29 15:01:20 3530 4

转载 在 Qt 中搭建 qwt

qwt安装过程:转载:https://blog.csdn.net/imkelt/article/details/51234230          https://www.cnblogs.com/warrior1988/p/5358954.html           https://blog.csdn.net/lihui126/article/details/45643237注意...

2018-09-27 09:58:42 1044

转载 可变长度的数组(定义数组时长度为0)

       在标准C和C++中,长度为0的数组是被禁止使用的。不过在GNU C中,存在一个非常奇怪的用法,那就是长度为0的数组,比如Array[0];很多人可能觉得不可思议,长度为0的数组是没有什么意义的,不过在这儿,它表示的完全是另外的一层意思,这个特性是不可移植的,所以,如果你致力于编写可移植,或者是稍稍需要跨平台的代码,这些伎俩最好还是收起来的好用途 :长度为0的数组的主要用途是为了满...

2018-09-26 10:36:23 6197

转载 STL类学习

参考文档:深入解析C++ STL中的常用容器:https://www.cnblogs.com/panlangen/p/8075766.htmlC++ STL基本容器使用:https://www.cnblogs.com/cxq0017/p/6555533.html  

2018-09-25 16:34:43 167

转载 Qt GUI程序中单线程和多线程的区别

转载:https://blog.csdn.net/hulifangjiayou/article/details/50170739转载:https://www.cnblogs.com/flowingwind/p/8361939.html#3930874Qt应用程序exec后就会生成一个线程,这个线程就是主线程,在GUI程序中也称为GUI线程。主线程也是唯一允许创建QApplication或Q...

2018-09-21 10:31:55 3210 2

转载 C语言请实现字符串循环右移函数

转载:https://blog.csdn.net/archyli/article/details/53562945C语言请实现字符串循环右移函数。列如字符串“abcdefghi”向右移2位就是“hiabcdefg” #include <stdio.h>#include <string.h>#include <assert.h>void Ri...

2018-09-20 13:56:51 4744 1

转载 C++中引用(&)的用法和应用实例

转载:http://www.cnblogs.com/Mr-xu/archive/2012/08/07/2626973.html对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。在 c++学习提高篇(3)---隐式指...

2018-09-17 14:03:30 162

原创 数组指针、指针数组、常量指针和指针常量记忆方法归纳

数组指针本质上是一个指针,但这个指针指向的是一个数组指针数组本质上是一个数组,但这个数组里存放的都是指针常量指针本质上是一个指针,但这个指针指向一个常量指针常量本质上是一个常量,但这个常量是一个指针从编译原理角度来看,优先级和右结合让我不再迷茫,[]优先级高于*,编译器读int *p[]的时候,先让[]与p进行左结合,然后再与结合,然后再与int结合,也就是说p首先被确定是一个数组...

2018-09-17 10:32:19 966

转载 指针数组和数组指针

转载:https://blog.csdn.net/u013719339/article/details/80563247这两个名字不同当然所代表的意思也就不同。我刚开始看到这就吓到了,主要是中文太博大精深了,整这样的简称太专业了,把人都绕晕了。从英文解释或中文全称看就比较容易理解。指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a p...

2018-09-17 10:04:45 145

转载 常量指针和指针常量巧妙记忆方法

转载:https://blog.csdn.net/a15261893837/article/details/707673851.常量指针通常有两种表示方法:方法 1: const double  * ptr;     //数据类型在const左右是意思一样的,只是写法不一样方法 2: double const  *ptr;2.指针常量通常表示为:double * const p...

2018-09-17 09:38:48 1959 1

转载 C++与C中的结构体及class直接的区别

转载:https://blog.csdn.net/ti09257/article/details/797045221、class与struct的区别:a、成员访问权限:class的成员访问权限为private,struct的成员访问权限为publicb、默认的继承方式:class的默认继承方式为private,struct的默认继承方式为public注意:C#中struct的默认成...

2018-09-14 15:44:14 500

转载 强制类型转换(int)、(int&)和(int*)的区别

转载:https://blog.csdn.net/yesyes120/article/details/79513719我们先来看两行代码:float x=1.75,y=1.75;cout<<(int)x<<" "<<(int&)y<<endl;输出为:1    1071644672首先呢,我们来看一下浮点数的格式:...

2018-09-14 13:57:57 777

转载 new和delete的基本语法

转载:https://blog.csdn.net/QQ960054653/article/details/556572981、new int; //开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)2、new int(100);  //开辟一个存放整数的空间,并指定该整数的初值为100,返回一个指向该存储空间的地址3、new char[10];  //开辟一个存放字符数组(包括...

2018-09-14 09:53:21 1966

原创 c++静态成员变量和静态成员函数

转载:https://www.cnblogs.com/sixue/p/3997324.html特点:1、静态成员函数和静态成员变量不需要通过创建对象来开辟空间,在类里声明的时候就已经在静态区域开辟空间了2、静态成员变量不在类的内部空间,在类的外部静态区中,所以计算类的大小时,是不包含静态成员变量的空间大小的而非静态成员变量必须通过创建对象来开辟空间,对象包含着非静态成员变量3、...

2018-09-13 15:20:16 261

原创 TCP/IP通信的socket模型图

2018-09-13 14:14:05 1884

原创 全局变量、静态全局变量、静态局部变量和普通局部变量的区别

按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的全局数据区,局部变量存放在内存的栈区按作用域分: 1、全局变量在整个工程文件内都有效;2、静态全局变量只在定义它的文件内有效;3、静态局部变量只在定义它的函数内有效,且程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。4、全局变量和静态变量如果没有手工初始化,则由编译...

2018-09-13 11:25:45 19344 5

原创 构造函数与析构函数

类的构造函数1、类的构造函数是类的一种特殊的成员函数,它会在每次创建类对象时自动执行。2、构造函数的名称与类的名称是完全相同的,没有返回值,也不会返回 void。3、构造函数在定义时可以有参数。作用:为对象分配内存和初始化成员变量 (注意:在类里面定义变量的同时不能对它初始化)实例1:测试类创建对象时构造函数的调用方法#include <iostream&...

2018-09-13 09:46:21 281

原创 初始化列表的构造顺序

class A { private: int n1; int n2; public: A():n2(0), n1(n2+2) { } void Print() { std::cout << n1 << " " << n2; } }; 这个的结果是n1=随机...

2018-09-12 19:44:19 468

转载 类(继承)的内存分配详解

转载:https://blog.csdn.net/vainlyhopelim/article/details/477540951.基类与派生类的内存分配派生类继承基类      内存分配时,是在于基类对象不同的内存地址处,按基类的成员变量类型,开辟一个同样的类型空间,但注意开辟后派生对象的空间,不是复制基类的成员的值,而是仅仅开辟那种成员类型的空间,未初始化时,里面存在的数是不确定的 ...

2018-09-12 14:31:53 1112 1

转载 C++之命名空间

转载:http://www.prglab.com/cms/pages/c-tutorial/advanced-concepts/namespaces.php1、命名空间 (namespaces)通过使用命名空间(namespaces)我们可以将一组全局范围有效的类、对象或函数组织到一个名字下面。换种说法,就是它将全局范围分割成许多子域范围,每个子域范围叫做一个命名空间(namespaces...

2018-09-12 11:21:00 116

转载 Qt自定义控件以及控件的提升

转载:https://blog.csdn.net/y396397735/article/details/78451245源码:https://download.csdn.net/download/qq_39736982/10661038关于在使用Qt做界面时,通用、常用的控件重复设置属性是件麻烦的事情,比如密码输入框,一个密码输入框要设置许多属性,比如密文显示,长度,只能输入固定字符类...

2018-09-12 09:36:39 3536

原创 TCP/IP四层模型

2018-09-12 09:25:57 189

转载 NOR flash和NAND flash的区别

转载:https://blog.csdn.net/fxltsbl007/article/details/79395078最近学习flash时,说W25Q64是NOR flash。这个NOR flash和NAND flash的概念一直搞不清,下面是查询的相关资料。 1、结构方面:         NORflash采用内存的随机读取技术。各单元之间是并联的,对存储单元进行统一编址,所以...

2018-09-11 16:30:59 5365

原创 嵌入式Linux系统架构

2018-09-11 15:09:09 765

转载 插件化系统开发

转载:https://blog.csdn.net/mailtogst/article/details/2073696           https://blog.csdn.net/liang19890820/article/details/78475442何为插件化系统,插件化系统有何优势当一个软件项目开发结束并交付使用后,假如需要增加一些新的功能时,我们希望在不修改原有的应用程序情...

2018-09-10 17:25:54 2837

原创 进程间的虚拟内存和物理内存映射关系图

注意:字符串常量也是存储在静态存储区

2018-09-10 15:41:01 1219

转载 C语言malloc()函数与calloc()函数的区别

函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。 void * malloc(int n); malloc() 函数有一个参数,是需要分配空间的大小(单位是字节) void *calloc(int n,int size);   calloc()函数有两个参数,第一个参数是元素的...

2018-09-06 09:43:14 192

原创 线程分析

1、线程概念<1>、什么是线程LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下)进程:独立地址空间,拥有PCB线程:也有PCB,但没有独立的地址空间(共享)区别:在于是否共享地址空间。 独居(进程);合租(线程)。                                     Linux下: 线程:最小的...

2018-09-05 14:34:38 390

原创 Linux下常见命令解析

1、top命令PID — 进程id USER — 进程所有者 PR — 进程优先级 NI — nice值。负值表示高优先级,正值表示低优先级 VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA SHR — 共享内存大小,单位kb S — 进程状态。D=不可中断的睡眠状...

2018-09-05 11:03:44 536

原创 Linux下经典五位哲学家吃面模型分析

一、问题介绍 哲学家进餐问题是典型的同步问题。该问题是描述有五个哲学家共用一张圆桌,分别坐在周围的五张椅子上,在圆桌上有一碗面和五只筷子,他们的生活方式是交替地进行思考和进餐。平时,一个哲学家进行思考,饥饿时便试图取用其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐。进餐完毕,放下筷子继续思考。如下图所示:2、解决办法多线程版思路:选用互斥锁mutex,如创...

2018-09-05 10:08:00 2010

原创 信号量详细解说

1、信号量概述进化版的互斥锁(1 --> N)由于互斥锁的粒度比较大,如果我们希望在多个线程间对某一对象的部分数据进行共享,使用互斥锁是没有办法实现的,只能将整个数据对象锁住。这样虽然达到了多线程操作共享数据时保证数据正确性的目的,却无形中导致线程的并发性下降。线程从并行执行,变成了串行执行。与直接使用单进程无异。信号量,是相对折中的一种处理方式,既能保证同步,数据不混乱,又能...

2018-09-04 17:29:01 13474 1

原创 条件变量详细解说

1、条件变量概述: 条件变量是用来等待线程而不是上锁的,条件变量通常和互斥锁一起使用。条件变量之所以要和互斥锁一起使用,主要是因为互斥锁的一个明显的特点就是它只有两种状态:锁定和非锁定,而条件变量可以通过允许线程阻塞和等待另一个线程发送信号来弥补互斥锁的不足,所以互斥锁和条件变量通常一起使用 当条件满足的时候,线程通常解锁并等待该条件发生变化,一旦另一个线程修改了环...

2018-09-04 11:26:14 35817 25

原创 读写锁详细操作

与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享,写锁优先级高1、读写锁状态:一把读写锁具备三种状态:1. 读模式下加锁状态 (读锁)2. 写模式下加锁状态 (写锁)3. 不加锁状态2、读写锁特性: 读写锁是“写模式加锁”时, 解锁前,所有对该锁加锁的线程都会被阻塞。 读写锁是“读模式加锁”时, 如果线程以读模式对其加锁会成功;如果线程以写模式加锁会...

2018-09-04 09:44:11 858

原创 死锁

线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。常见两种情形:1. 线程试图对同一个互斥量A加锁两次。    pthread_mutex_lock(&mutex);//第1次加锁     printf("hello ");    sleep(1);    /*模拟长时间操作共享资源,导致cpu易主,产生与时间有关的错误*/ ...

2018-09-03 17:07:55 159

原创 互斥锁(mutex)

Linux中提供一把互斥锁mutex(也称之为互斥量)。每个线程在对资源操作前都尝试先加锁,成功加锁才能操作,操作结束解锁。但通过“锁”就将资源的访问变成互斥操作,而后与时间有关的错误也不会再产生了。但,应注意:同一时刻,只能有一个线程持有该锁。当A线程对某个全局变量加锁访问,B在访问前尝试加锁,拿不到锁,B阻塞。C线程不去加锁,而直接访问该全局变量,依然能够访问,但会出...

2018-09-03 15:19:31 102861 6

原创 线程同步概念

同步即协同步调,按预定的先后次序运行。数据混乱原因:1. 资源共享(独享资源则不会)2. 调度随机(意味着数据访问会出现竞争)3. 线程间缺乏必要的同步机制。以上3点中,前两点不能改变,欲提高效率,传递数据,资源必须共享。只要共享资源,就一定会出现竞争。只要存在竞争关系,数据就很容易出现混乱。所以只能从第三点着手解决。使多个线程在访问共享资源的时候,出现互斥。举例1: ...

2018-09-03 14:51:54 863

原创 进程内存分布图

进程内存分布图:转载:https://blog.csdn.net/yff1030/article/details/7762018 

2018-09-03 11:10:55 1088

利用QStackWidget控件加载子界面.zip

QT环境下利用QStackWidget控件,加载子界面,合理分开程序,让程序更具层次感,方便程序扩展,

2019-11-20

sougou_huyanbao

explicit DataProcessing(QObject *parent = 0);1233333333333

2019-06-11

利用MoveToThread实现多线程编写

网上大部分写线程模式都是重写run函数实现的,但网上有大牛建议通过MoveToThread函数实现线程,现制作简易的线程模板分享一下

2018-09-25

多线程测试

测试多线程的实现方式,并且和单线程进行比较,可以让初学者更快的理解线程机制的好处

2018-09-21

单线程测试用例

用于测试单线程的弊端,当计算大数据时,单线程只能做一件事,如果此时干其他的界面就会崩溃

2018-09-21

QT下控件提升小示例

QT环境下提升控件的一个小例子,简单易懂,了解控件提升的作用(对控件的进一步封装有很大作用),方便学习和总结

2018-09-12

Qt5.4.1和QWT安装包

该文件包含qt5.4.1和qwt以及openssl安装包,经本人测试可用

2018-08-21

大小端测试程序

大小端测试测序, 可以很方便的测试机器的大小端格式

2018-08-21

linux下安装32位qt5.4.1安装包

linux下32位qt5.4.1安装包,亲测可用,安装简单,满足基本需求

2018-08-17

超级system命令嵌入代码

在程序中通过system函数执行命令后,有时很想在程序里获取执行后的结果,通过本程序,可以简单的在执行命令后还能获取执行的结果,本历程,是执行将秒数转换成年月日时分秒格式的命令,后在程序中能捕获到执行后的 年-月-日 时-分-秒格式的结果

2018-08-01

makefile分文件夹编译框架

本框架,分文件夹管理,可以让程序更具模块化,利于编写出更高效的代码

2018-07-30

Qt串口助手,支持和单片机中文通信

上位机和下位机串口中文通信时,经常出现乱码,该程序就是针对这个问题找到了解决办法。

2018-07-16

空空如也

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

TA关注的人

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