自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

草上爬的博客

专注技术,热爱分享,QQ:302877285

  • 博客(34)
  • 资源 (173)
  • 收藏
  • 关注

原创 Linux之进程的基本概念(进程,进程组,会话关系)

进程进程是操作系统的一个核心概念。每个进程都有自己唯一的标识:进程ID,也有自己的生命周期。一个典型的进程的生命周期如图4-1所示。进程都有父进程,父进程也有父进程,这就形成了一个以init进程为根的家族树。除此以外,进程还有其他层次关系:进程、进程组和会话。进程组和会话在进程之间形成了两级的层次:进程组是一组相关进程的集合,会话是一组相关进程组的集合。这样说来,一个进程会有如下ID:·PID:进...

2018-04-29 09:02:30 16102 1

原创 Linux之普通进程 后台进程 守护进程

一、普通进程与后台进程默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作。对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'&'实现这个目的:zsm@wilburUbun:~/application/zookeeper-3.4.8/bin$ ./zkServer.sh start &[1] 21304zsm@wi...

2018-04-28 17:56:55 2679 1

原创 Qt基础之三:Qt元对象系统

这个函数返回 QMetaObject 元对象类的实例,通过它,你就获得了 Qt 类的反射的能力:获取本对象的类型之类,而这一切,都不需要 C++ 编译器的 RTTI 支持。构建项目时,moc工具读取 C++ 源文件,当它发现类的定义里有 Q_OBJECT 宏时,它就会为这个类生成另外一个包含有元对象支持代码的 C++ 源文件,这个生成的源文件连同类的实现文件一起被编译和连接。这是一个空白的类,什么都没有实现。2.在类的头文件中声明 Q_OBJECT宏,使得类可以使用元对象的特性,如动态属性、信号与槽。

2018-04-28 15:49:51 11435 3

原创 使用串口调试助手发送16进制数

发送16进制的1(即0x01),应该写01,不能去掉前面的0,更不能写成0x01

2018-04-28 14:30:54 16094

原创 QListView启用水平流式布局

QListView启用水平流式布局

2018-04-28 13:55:56 13525

转载 GO语言学习资源整理

Go语言是谷歌发布的一套编程语言,因为其简单的部署、良好的并发性等特点受到很多企业的青睐,国外如Google、AWS、Cloudflare、CoreOS等,国内如七牛、阿里等都已经使用Golang开发其云计算相关产品。因此也有很多小伙伴选择Go语言,其实也对,毕竟大众化的语言Python、Java、C、C++等岗位竞争激烈,那么为何不选择一门竞争性相对而言比较小却也有前景的一门语言呢。那么要学习G...

2018-04-28 12:17:36 6343

原创 Linux之常用指令

玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux进行C/C++和shell程序编写的,所以常用到的命令可以就会跟一个管理Li

2018-04-28 11:14:03 508 1

原创 C++面试题之虚函数(表)实现机制

大家都应该知道C++的精髓是虚函数吧? 虚函数带来的好处就是: 可以定义一个基类的指针, 其指向一个继承类, 当通过基类的指针去调用函数时, 可以在运行时决定该调用基类的函数还是继承类的函数. 虚函数是实现多态(动态绑定)/接口函数的基础. 可以说: 没有虚函数, C++将变得一无是处!既然是C++的精髓, 那么我们有必要了解一下她的实现方式吗? 有必要! 既然C++是从C语言的基础上发展而来...

2018-04-27 20:01:25 11126 21

原创 C++面试题之TCP的三次握手与四次挥手

TCP是什么?具体的关于TCP是什么,我不打算详细的说了;当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续。它只是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。首先来看看OSI的七层模型:我们需要知道TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data Lin...

2018-04-27 14:43:53 2709

原创 C++笔试题之求完全二叉树叶子节点数

C++笔试题之求完全二叉树叶子节点数:一、树的定义树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。树具有的特点有:(1)每个结点有零个或多个子结点(2)没有父节点的结点称为根节点(3)每一个非根结点有且只有一个父节点(4)除了根结点外,每个子结点可以分为多个不相交的子树。树的基本术语有:若一个结点有子树,那么该结点称为子树根的“双亲”,子树的根称为该结点的“孩子”。有相同双亲的结点互为“兄弟”。一...

2018-04-26 17:14:55 22851 5

原创 C++面试题之list和vector的区别

1.vector数据结构       vector和动态数组类似,拥有一段连续的内存空间,并且起始地址不变。因此能高效的进行随机存取,时间复杂度为o(1);但因为内存空间是连续的,所以在进行插入和删除操作时,会造成内存块的拷贝,时间复杂度为o(n)。2.list数据结构       list是由双向链表实现的,因此内存空间是不连续的。只能通过指针访问数据,所以list的随机存取非常没有效率,时间复...

2018-04-25 20:24:22 5066

原创 Effective C++笔记之八:template中的class、typename关键字

template 声明式中,class 和 typename 这两个关键字意义完全相同template class Widget;template class Widget;有时候你一定要用 typename。template void print2nd(const C& container) { if (container.size() >= 2) {

2018-04-24 20:21:38 2775

原创 C++笔试题之字节对齐

struct的对齐问题是由一道笔试题想到的,笔试题如下:#include using namespace std;typedef union student{ char name[10]; long sno; char sex; float score [4];} STU;void main (){ STU a[5]; cout <<

2018-04-24 17:35:54 2408

转载 libevent学习之六:VS2013调试libevent源码

今天就介绍一下vs2013 下面调试libevent源码。不需要创建sln解决方案,只需要创建工程,包含源码目录即可源码调试。1、手工添加print-winsocke-errors.c文件,不然nmake编译的时候会报错。print-winsocke-errors.c源代码程序:#include #include #include #inc......

2018-04-23 14:37:28 1595

原创 C++之std::vector元素去重

这种方法是结合sort和unique函数将相邻且重复的元素放到vector的尾部,然后返回指向第一个重复元素的迭代器再用erase函数擦除从这个元素到最后元素的所有的元素。这种方法是简单的利用set的特性,C++中的std::set是基于红黑树的平衡二叉树的数据结构实现的一种容器,因为其中所包含的元素的值是唯一的,因此主要用于去重和排序。

2018-04-17 11:26:18 12951 1

原创 Qt之实现图片或按钮等控件的倒影效果

倒影效果在轮播图中用得比较多,当然音乐频谱中也有用到。通常的做法是将原图垂直镜像,然后在原图下面绘制该镜像图用Qt获取镜像图比较方便,调用QImage的mirrored方法就行,该方法有两个参数,分别可以控制水平或(和)垂直镜像获取垂直镜像的代码如下所示如果给按钮等控件绘制倒影,需要先获取按钮的图像,这一点用Qt也很好实现,如下所示接着将pix做垂直镜像就行如果镜像图不做任何处理,最基础的倒影效果如下图所示 上图中的倒影效果比较生硬,就好比说大树在水中的倒影,并不是和岸上的书一毛一样,

2018-04-13 16:15:28 3944 1

原创 kafka之为topic增加partition

操作指令如下:将topic gome中的partition增加到10个bin/kafka-topics.sh --alter --zookeeper 10.112.179.12:2181 --partitions 10 --topic gome具体参数的含义可以通过执行bin/kafka-topics.sh来查看,如下所示:

2018-04-12 15:25:40 11313 1

原创 如何通过外部电脑访问kafka服务器

在kafka的编译和使用中说明了kafka环境的搭建和本机自测。但是如果在外部电脑上启动生产者和消费者,并不能进行消息的发布和订阅,会报解析服务器hostname失败的错误。解决的方法有两个:1.将服务器的IP和计算机名信息添加到外部电脑的/etc/hosts文件,添加方法参考:https://blog.csdn.net/caoshangpa/article/details/798

2018-04-11 20:01:34 7839 3

原创 kafka启动时报错:java.net.UnknownHostException: Name or service not known

今天在用下面的指令启动kafa的时候报错了:# bin/kafka-server-start.sh config/server.properties &错误信息如下:[2018-04-11 16:27:31,185] ERROR [KafkaServer id=0] Fatal error during KafkaServer startup. Prepare to shutdown (

2018-04-11 17:09:55 21459 2

原创 Windows下动态库的搜索顺序

Windows下动态库的搜索顺序

2018-04-11 10:37:30 4669 1

原创 CMake添加可执行程序(exe)的图标和详细信息

CMaket添加可执行程序(exe)的图标和详细信息

2018-04-04 17:02:39 3391

原创 Qt基础之四十四:qmake构建原理

qmake构建原理。当一个项目很小的时候,直接使用编译器、链接器等编译工具,就可以把代码构建成程序。当项目越来越大时,除了需要调用编译工具编译程序,还需要做很多事情,例如:☆配置编译工具☆设置编译选项☆添加头文件☆添加第三方库☆添加资源文件☆自动增量编译,自动检测文件修改☆链接程序☆软件自动部署☆自动化测试等等完成这些步骤,需要调用几个甚至几十个工具来完成。这导致构建软件的任务变得非常繁琐,如果每次构建都需要开发者手动逐个调用工具完成,就会产生大量的、机械的重复性劳动。

2018-04-04 16:58:24 10465 1

原创 Debug和Release

编译器有这么多优化级别,Debug版本和Release版本其实就是优化级别的区别,Debug称为调试版本,编译的结果通常包含有调试信息,没有做任何优化,方便开发人员进行调试,Release称为发布版本,不会携带调试信息,同时编译器对代码进行了很多优化,使代码更小,速度更快,发布给用户使用,给用户使用以更好的体验,特殊情况下,可以看到两种模式在运行速度上有数量级的差距。Debug模式下在内存分配上有所区别,在我们申请内存时,Debug模式会多申请一部分空间,分布在内存块的前后,用于存放调试信息。

2018-04-04 15:12:58 12895

原创 分享一个QML实现的电池充电效果(超级炸裂)

分享一个QML实现的电池充电效果(超级炸裂)

2018-04-04 14:55:50 5638 1

原创 OpenWRT:操作GPIO报错wirte error:resource busy

OpenWRT:操作GPIO报错wirte error:resource busy

2018-04-04 14:16:41 2119 1

原创 Qt之TCP保活机制与断网重连

Qt之TCP保活机制与断网重连QTcpSocket能够检测到Socket的连接与断开状态,并触发相关信号,我们只需要关联信号与槽就能够知道连接状态。还有一些特殊情况是无法触发QTcpSocket::disconnected信号,比如说:网线突然拔了、对端设备突然停电等。这类情况由于对端socket未正常调用close()方法而导致的。我们可以定义一个心跳包去定期检查对端的存活状态,这种做法在协议还未指定的初期是比较适合的,客户端与服务端制定一套心跳请求与应答机制来判断对端的存活状态。

2018-04-04 11:34:42 3270 1

原创 C++笔试题之最长不含重复的子字符串

题目描述给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。提示:s 由英文字母、数字、符号和空格组成。

2018-04-03 12:29:52 7946 1

转载 Kafka设计解析(一)- Kafka背景及架构介绍

本文转发自技术世界,原文链接 http://www.jasongj.com/2015/03/10/KafkaColumn1摘要  Kafka是由LinkedIn开发并开源的分布式消息系统,因其分布式及高吞吐率而被广泛使用,现已与Cloudera Hadoop,Apache Storm,Apache Spark集成。本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对...

2018-04-03 08:44:06 614

转载 使用VS2013或VS2015生成UML类图

1.UML简介Unified Modeling Language (UML)又称统一建模语言或标准建模语言。简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是他们的主要用途简介:1.用例图:对系统的使用方式分类.2.类图:显示类和它们的相互关系。3.对象图:只显示对象及它们的相互关系。4.活动图:显示人或对象的活动,

2018-04-03 08:40:01 38703 2

转载 StarUML逆向工程: 通过代码生成类图

在软件工程中, 通过都是先了详细设计, 然后按照详细设计来进行开发。在编写详细设计的时候,通常都会画一些类图、时序图、流程图等等UML设计, 然后通过uml类图生成代码, 这个属于正向工程生成代码, 然而在实际开发中, 很可能是先完成了代码开发, 再来补充一大堆的文档, 这是就需要通过代码来生成类图, 这个就属于逆向工程了, 下面进入主题, 如何利用staruml通过代码生成类图。(需要注意的是只

2018-04-03 08:36:22 17942 2

原创 QML粒子系统酷炫效果合集(不定时更新)

QML粒子系统酷炫效果合集:1.烟花效果;2.文字灰飞烟灭效果

2018-04-02 17:57:11 7320 1

翻译 WebRTC笔记之十四:将WebRTC用于多人音视频通信

WebRTC非常适合点对点(即一对一)通信。 但是,当我与客户讨论超出一对一(即一对多或多对多)的解决方案和服务时,问题就出现了:“我应该采用哪种架构?”。 有些服务提供商希望复用他们网络中的组播支持(我们正在为此尝试做一些实验),有些正在探索基于联播(simulcast)的解决方案,还有一些正在考虑像MCU /Mixer这样的集中式解决方案,而其中一些 只是愿意通过使用基于Mesh的技术将负担放

2018-04-02 17:11:46 7676 2

原创 使用librdkafka的C++接口实现简单的生产者和消费者

一.编译librdkafka环境:Fedora 20,32位依赖:pthreads(必选),zlib(可选),libssl-dev(可选),libsasl2-dev(可选)先查看自己的linux上是否安装了pthreads,指令如下:# locate libpthread因为我之前安过了,所以可以直接编译librdkafka,没有安的下个pthreads的源码——con

2018-04-02 10:55:17 23486 6

原创 Qt延时的几种方法

本文介绍几种Qt延时的方法,包括阻塞和非阻塞的。

2018-04-01 21:20:00 4289 1

Qt高仿QQ截图

使用Qt高仿QQ截图,实现了画图形、画线、画刷、写文字、重做等功能

2017-11-27

20种数据结构和算法的C++实现

20种数据结构和算法的C++实现,详见博客:http://blog.csdn.net/caoshangpa/article/details/78557334

2017-11-17

Qt下用QSplitter实现滑动窗口

Qt下用QSplitter实现滑动窗口,详见博客:http://blog.csdn.net/caoshangpa/article/details/78549788

2017-11-16

Qt实现窗体缩放

用Qt实现的跨平台窗体缩放,详见博客:http://blog.csdn.net/caoshangpa/article/details/78543165

2017-11-15

仿360鼠标拖动图片切换效果

博客中发现有作者写的仿360的代码,觉得其中图片滑动的效果很有意思,特提取其中的代码。并加上类似mac的画面移动的动画效果。

2017-11-15

Qt OpenGL+Graphics-View

示例+源码,QtOpenGL以及Graphics-View框架整合的例子

2017-11-14

Qt之调用zlib

Qt调用zlib的例子,详见博文:http://blog.csdn.net/caoshangpa/article/details/78528930

2017-11-14

Qt Quick实现九宫格锁屏视图

九宫格划指锁屏视图 Lisence: MIT, 请保留本文档说明 Author: surfsky.cnblogs.com 2015-02

2017-11-14

QML实现图像处理,包括浮雕、锐化等效果

使用 Qt Quick 实现的图像处理实例,支持黑白、锐化、底片、柔化、灰度、浮雕等特效。展示 Qt 中 QML 与 C++ 混合编程技术、多线程、自定义事件等关键技术。 原作者:foruok

2017-11-14

Qt插件调用实例

实例讲解Qt如何实现插件的调用,详见博客:http://blog.csdn.net/caoshangpa/article/details/78506322

2017-11-11

程序员必读之软件架构 高清pdf 带书签

程序员必读之软件架构 高清pdf 带书签

2017-07-16

c++获取OpengL版本号的两种方法

源码,没啥说的

2017-06-02

WebRTC学习之四:最简单的语音聊天

使用WebRTC实现了最简单的语言聊天 详见博客:http://blog.csdn.net/caoshangpa/article/details/53889057

2017-01-10

Qt动画效果展示

展示了Qt动画的使用,效果非常炫 详见博客:http://blog.csdn.net/caoshangpa/article/details/53964789

2017-01-01

WebRTC学习之三:录音和播放

使用WebRTC C++实现的录音与播放功能,界面用的Qt。 详见博客:http://blog.csdn.net/caoshangpa/article/details/53446916

2016-12-26

VC实现单文档切分窗口

VC实现单文档切分窗口

2016-12-03

VC通过DirectShow进行视频预览和捕获

VC通过DirectShow进行视频预览和捕获

2016-12-03

VC局域网象棋对战(毕业设计)

VC局域网象棋对战(毕业设计),含设计文档

2016-12-03

PDF密码移除工具

PDF密码移除工具,非常好用

2016-12-03

USB转串口万能驱动

USB转串口万能驱动

2016-12-03

Qt国际化(I18N)

国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),说起Qt,就不能避开国际化,国际化步骤: 如果Qt程序中有QObject::tr()包裹的字符串,对这个应用程序的翻译主要包含三步: ①.运行lupdate工具从C++源代码中提取要翻译的文本,这时会生成一个.ts文件,这个文件是XML格式的; ②.在Qt Linguist中打开.ts文件,并完成翻译工作; ③.运行lrelease工具从.ts文件中获得.qm文件,它是一个二进制文件。这里的.ts文件是供翻译人员使用的,而在程序运行时只需要使用.qm文件,这两个文件都是与平台无关的。 详见博客:https://blog.csdn.net/caoshangpa/article/details/135319397

2023-12-31

Qt之实现遮罩窗口,实现了窗口遮罩效果

参考链接:https://blog.csdn.net/caoshangpa/article/details/53053409

2022-07-24

QHVlcPlayer.rar

Qt+libVLC,使用QWidget和QOpenGLWidget两种方式渲染:详见博客https://blog.csdn.net/caoshangpa/article/details/114182802

2021-02-27

Qt+libVLC+QWidget渲染

从libVLC中抽帧,然后用QWidget渲染,详见博客:https://blog.csdn.net/caoshangpa/article/details/114171203

2021-02-27

Qt调用libVLC实现播放器

可以播放本地文件和网络url,详见博客:https://blog.csdn.net/caoshangpa/article/details/114156273

2021-02-26

TestUI.rar

Qt换肤详见博客: https://blog.csdn.net/caoshangpa/article/details/51476644 https://blog.csdn.net/caoshangpa/article/details/51527121

2021-02-09

QHOpenGLPlayer.rar

使用QOpenGLWidget渲染yuv420p,详见博客:https://blog.csdn.net/caoshangpa/article/details/112448207

2021-01-10

Qt使用SDL2\D3D渲染YUV420p

Qt使用SDL2\D3D渲染YUV420p

2021-01-09

基于Qt和SDL2播放PCM

基于Qt和SDL2播放PCM,参考博客:https://blog.csdn.net/caoshangpa/article/details/112226484

2021-01-05

QML实现点赞送礼物效果

Qt5 QML实现,详见博客:https://blog.csdn.net/caoshangpa/article/details/112195530

2021-01-04

Qt5版NeHe OpenGL教程6-10

Qt5版Nehe OpenGL教程,第六课到第十课,详见博客:https://blog.csdn.net/caoshangpa/article/details/80323712

2018-05-17

Qt5版Nehe OpenGL教程1-5

Qt5版Nehe OpenGL教程,第一课到第五课,详见博客:https://blog.csdn.net/caoshangpa/article/details/80270855

2018-05-14

Qt4版NeHe OpenGL教程 源码

Qt4版NeHe OpenGL教程 源码,NeHe的教程虽然时间久远,但是仍然是入门的好教程,至少对三维概念的了解很有帮助。

2018-05-12

Qt调用OpenGL API实现彩色旋转立方体

详见博客:https://blog.csdn.net/caoshangpa/article/details/80258907 源码中包含了glu和glut等库

2018-05-09

串口调试助手

串口调试助手,自己用的,还不错。可以设置16进制发送和接收。

2018-03-16

MyTcpClient

Qt实现的TCP客户端,用于和State Thread库的Server例子进行调试。详见博客:http://blog.csdn.net/caoshangpa/article/details/79582873

2018-03-16

Boost.Asio C++ Network Programming随书源码

Boost.Asio C++ Network Programming随书源码,书的下载链接:http://download.csdn.net/download/caoshangpa/10229882

2018-01-29

Boost.Asio C++ Network Programming(高清,带书签,可复制)

Boost.Asio C++ Network Programming(高清,带书签,可复制)

2018-01-29

Effective Modern C++ 英文原版(带书签)

Effective Modern C++ 英文原版(带书签),稍微有点英语基础就可以看懂,C++11和C++14学习必备

2018-01-27

Qt之绘制灵动的小鱼

使用Qt绘制的小鱼,用到了很多算法,包括贝塞尔曲线等,非常值得学习借鉴

2018-01-14

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

TA关注的人

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