自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JMaliex

早起的鸟儿有虫吃,早起的虫儿被鸟吃

  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 日常任务点

1、完成剩余Shell学习](https://www.runoob.com/linux/linux-shell-array.html)2、B站观看Jira和Gerrit的使用教程3、搞懂GPIO、IIC等概念-----------------------------------------------------------------------------------------2022.3.9------------------------------------...

2022-03-09 14:29:53 102

原创 FFmpeg的基本流程

基本解码流程1. av_register_all();//注册所有文件格式和编解码库3. avformat_open_input();//打开音视频文件4. avformat_find_stream_info();//查找流信息5. CODE_TYPE_VIDEO; //判断是否为视频流6. avcodec_find_decoder();//查找解码器7. avcodec_open2();//打开编解码器8. avcodec_alloc_frame();//分配空间保存帧数据9. av_re

2021-12-27 00:33:33 1100

原创 Qt信号和槽connet()函数

参考文章1参考文章2一、简述  Connect()函数将信号与槽关联起来。函数原型://参数:信号对象,信号,槽对象,槽函数,连接方式static QMetaObject::Connection connect(const QObject *sender, const char *signal,const QObject *receiver, const char *member, Qt::ConnectionType = Qt::AutoConnection);static QMetaOb

2021-12-26 20:38:52 552

原创 Qt事件简述

一、简述  在Qt中,事件本质上还是基于回调函数实现的。每一个Qt应用程序都对应一个唯一的QApplication应用程序对象,然后调用这个对象的exec()函数,这样,Qt内部框架的事件循环就开始了,一直监听应用程序的事件。  Qt将事件作为一个对象,继承自QEvent类。常见的有键盘事件(QKeyEvent)、鼠标事件(QMouseEvent)和定时器事件(QTimerEvent)等。。。大致与QEvent类的继承关系如图:二、事件处理  当窗口事件产生后,事件会经过:事件派发–>事件过

2021-12-25 10:42:50 621

原创 C++内联函数与宏定义的区别

内联函数的优点内联函数可调式可进行类型安全检查或自动类型转换可访问成员变量另外,定义在类声明中的成员函数会自动转换为内联函数。参考:http://www.cnitblog.com/guopingleee/archive/2009/02/16/54625.html...

2021-12-20 13:25:56 361

转载 std::lambda std::function以及std:bind

详见:跳转

2021-12-20 13:16:08 75

转载 单例模式(Singleton)

参考博客简述  单例模式\color{red}{单例模式}单例模式(Singleton Pattern)是一种常用的设计模式,属于创造者模式。单例模式只允许有一个实例,通过将构造函数私有化的方式隐藏对象的创建接口,取而代之的是提供用于获取类单例的公共接口,该公共接口通常需要具备全局访问性,因此用static修饰。其应用场景非常广泛,例如创建管理类,或者限定对象实例的唯一性等。。。实现方式单例模式通常有2种常见的实现方法:懒汉式:使用时才创建,但多线程访问时线程不安全(双检锁)。饿汉式:加载时就

2021-12-16 11:33:28 191

原创 多线程同步(Windows)

参考博客关于线程同步线程间通信的基本同步:互斥\color{red}{互斥}互斥和同步\color{red}{同步}同步。线程同步:指线程间所具有的一种制约关系,即某个线程的执行依赖于另一个线程的消息或执行结果,在它没有得到另一个线程的消息前会一直等待,直接消息到达时才被唤醒。线程互斥:指对于共享的操作系统资源(指的是广义的”资源”,而不是Windows的.res文件,譬如全局变量就是一种共享资源),在各线程访问时的排它性。当有若干个线程都要使用某一共享资源时,任何时刻最多只允许一个线程去使用,其

2021-12-14 19:58:27 491

原创 WaitForSingleObject

参考博客   在多线程的情况下,有时候我们会希望等待某一线程完成了再继续做其他事情,要实现这个目的,可以使用Windows API函数WaitForSingleObject\color{red}{WaitForSingleObject}WaitForSingleObject,或者WaitForMultipleObjects\color{red}{WaitForMultipleObjects}WaitForMultipleObjects。这两个函数都会等待Object被标为有信号(signaled)时才返回

2021-12-14 18:51:06 243

原创 Windows和Mac下的_stdcall

Windows下:typedef void(_stdcall* Func)(const char* param, void* user_param);Mac下:typedef void(__attribute__((stdcall))* Func)(const char* param, void* user_param);后续补充…

2021-12-01 14:02:00 495

原创 记一次链接OpenSSL静态库时出错

主要原因:libssl.a与libcrypto.a这两个库的链接顺序反了。报错:修改前的CMakeLists.txt:cmake_minimum_required(VERSION 3.4.1)set(CMAKE_VERBOSE_MAKEFILE on)file(GLOB_RECURSE SOURCES1 "...../*.cpp")file(GLOB SOURCES2 "....*.cpp")add_library(RSNet SHARED ${SOURCE

2021-10-28 20:08:11 773

原创 Windows获取本机音频设备

主要利用waveIn、waveOut系统接口来实现#include <iostream.h>#include <windows.h>#include <mmsystem.h>int main(){ //获取系统中波形音频输出设备的数目 int nSoundCardCount = waveOutGetNumDevs(); std::cout << "count: " << nSoundCardCount << std::

2021-10-19 17:01:21 605 1

原创 利用lexical_cast获取当前线程id

利用lexical_cast获取当前线程id获取线程id可直接调用**this_thread::get_id()**函数,可经std::cout打印到标准输出,但此时输出的却是十六进制的数,且不能通过普通int型变量保存,因此,需要用lexical_cast转换。int print_thread_id(){ std::string str_thread_id = boost::lexical_cast<std::string>(boost::this_thread::get_id(

2021-10-11 14:02:54 68

原创 Windows数据类型

LPSTR介绍LPSTR:一个32位只想字符串的指针,相当于char*;LPCSTR:一个32位指向字符串常量的指针,相当于const char*;LPWSTR:一个32位只想Unicode字符串的指针,相当于wchar_t*;LPCWSTR:一个32位指向Unicode字符串常量的指针,相当于const wchar_t*;后续补充。。。...

2021-07-09 09:50:31 52

转载 Xcode 快捷键

转自原文 非常实用快捷键 ------------------------功能------------------------ Command + Shift + F               表示:跳转到搜索导航器【非常实用】 Command + Shift + j    &nb

2021-06-18 16:59:34 281

转载 编码格式问题

引用一篇比较好的文章:编码格式

2020-09-18 13:45:53 72

原创 比较两个数大小的非常规方法

约束 不能使用if、?、switch语句实现。方法1:取平均值 (使用abs())int max1(int a, int b){ //larger: (a+b + abs(a-b)) / 2 //smaller:(a+b - abs(a-b)) / 2 return (a+b + abs(a-b)) / 2; }2:利用数组int max2(int a, int b){ int array[2] = {a, b}; //larger: array[a < b];

2020-08-12 18:42:06 495

原创 TCHAR与char相互转换

VS中TCHAR与char相互转换TCHAR转charchar转TCHAR示例TCHAR转charsize_t wcstombs( char *mbstr, const wchar_t *wcstr, size_t count );char转TCHARsize_t mbstowcs( wchar_t *wcstr, const char *mbstr, size_t count );示例 char Path[MAX_PATH] = {0}; TCHAR T_Path[MAX_PATH

2020-05-11 16:25:54 3769

原创 字节对齐、8字节对齐

参考博文:参考1 、参考2、参考3在内存管理中经常使用字节对齐来管理分配的内存。1、原理2字节对齐:要求地址位为2, 4, 6, 8…,地址的二进制最后一位为0(2的1次方)。4字节对齐:要求地址位为4,8,12,16…,地址的二进制最后两位为0(2的2次方)。8字节对齐:要求地址位为8,16,24,32…,地址的最后三位为0(2的3次方)。16字节对齐:要求地址位为16,32...

2020-04-20 14:10:02 8309

原创 关于#define A *(int *)"a"的记录

define A *(int *)“a”直接看测试实例:#define A *("int *")"a"printf("---test_s: %s\n", ("a"));printf("---test_d: %d\n", A);printf("---test_p1: %p\n", &A);printf("---test_p2: %p\n", &("a"));prin...

2020-04-15 19:25:27 487

转载 C++设计模式

1、工厂模式在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式作为一种创建模式,一般在创建复杂对象时,考虑使用;在创建简单对象时,建议直接new完成一个实例对象的创建。1.1、简单工厂模式主要特点是需要在工厂类中做判断,从而创造相应的产品,当增加新产品时,需要修改工厂类。使用简单工厂模式,我们只需要知道具体的产品型号就可以创建一个...

2019-09-05 15:33:10 100

原创 记一次Model/View中修改数据不更新问题

问题描述:在已有的table表格中修改其中的参数中,然后点击[Modify]按钮后,实际相关函数已经成功实现了,但表格界面并没有随之刷新,还是修改之前的数据。解决:在相关的update函数中,调用完dataChanged()函数之后,加上beginResetModel()和endResetModel()这两个函数。PS:这只是针对我个人的情况,在其他情况可能并不能解决问题->_...

2019-08-29 16:32:17 1476 1

翻译 MFC 文档 视图 框架窗口间的关系 和消息传送规律

在MFC中引入了文档-视结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口。因此一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDocument文档类,CView视类。  在程序运行时CWinApp将创建一个CFrameWnd框架窗口实例,而框架窗口将创建文档模板,然后有文档模板创建文档实例和视实例,并将两者关联。一般来讲我们只需...

2019-08-19 10:02:38 172

转载 MFC中对象、句柄、ID之间的区别

转载自:  Windows程序中,有各种各样的资源(窗口、图标、光标),系统在创建这些资源的时候会为他们分配内存,并返回标识这些资源的标识号,即句柄HANDLE(ID)。图标句柄(HICON)、光标句柄(HCURSOR)、画刷句柄(HBRUSH)。  为什么有个窗口对象还要窗口句柄呢?还有什么线程句柄,甚至还有控件ID和进程ID呢?MFC中的对象,比如应用程序对象,视图对象等,是对象就会占用内...

2019-08-19 09:55:48 206

原创 记一次解决Qt程序异常退出问题

最近用Qt运行一个项目,编译报几个警告,但运行程序就崩溃,如图。网上的解决方法基本上都是丢失动态库,但没有说具体查找丢失动态库的方法。经过一番查找,找到一篇比较有帮助的博客:https://blog.csdn.net/caoshangpa/article/details/53670560以下是个人的解决方法:主要利用windeployqt查找依赖库1: 在C:\Qt\Qt5.12.0...

2019-06-25 19:32:53 4645

转载 QT:QObject

[转载自:]https://blog.csdn.net/aidem_brown/article/details/80236188 QObject 是所有Qt对象的基类。QObject 是Qt模块的核心。它的最主要特征是关于对象间无缝通信的机制:信号与槽。使用connect...

2019-04-12 18:34:27 179

转载 Qt 之 QSplitter(分离器) Class

[转载自:]https://blog.csdn.net/Heaven_Evil/article/details/79415022 详细描述QSplitter 类实现了一个分离器部件。先看一下控件使用分离器(QSplitter)后的演示效果:左边是一个QTreeWidget,右边是一个QWidget上边放置一个QLabel。没有使用QSplitter之前两个控件的大小是不可以通过拖拽...

2019-04-12 15:25:55 1069 1

转载 QT中的View Model模型

[转载自:]https://blog.csdn.net/tgzjz/article/details/45972273 介绍Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系。这种结构带来的功能上的分离给了开发人员更大的弹性来定制数据项的表示,它也提供一个标准的mode...

2019-04-12 14:52:17 1476

转载 Qt学习笔记(六)项视图类

[原博客地址]https://blog.csdn.net/skc361/article/details/12754193 许多应用程序允许用户搜索、查看和编辑属于某个数据集中的一些个别项。这些数据可能保存在文件中、数据库中或者网络服务器上。处理像这样的数据集的标准方式是使用Qt的项视图类(item view cla...

2019-04-12 14:42:37 704

转载 Qt Model/View理解(一)---构造model

[原博客地址:]https://blog.csdn.net/lutao614/article/details/80859968模型/视图将数据和显示分开进行处理,中间通过代理做桥梁。如果想往QCombox中添加一些子项,你会怎么做呢?除了常用的addItem方法,下面介绍通过模型/视图的方式添加,逐步理解模型/视图的使用方法。1.首先添加一个类,继承自QAbstractListModelc...

2019-04-12 13:16:45 777 1

转载 QAbstractItemView类参考

https://blog.csdn.net/u010002704/article/details/41157963[原博客] 目录公共类型属性公共函数公共槽信号受保护的类型保护功能保护槽详细说明QAbstractItemView类参考QAb...

2019-04-12 12:41:49 939

原创 冒泡排序、快速排序、选择排序

C语言下:冒泡排序、快速排序、选择排序一览本人菜鸟一枚,对于C语言下一些简单排序,平时想到,总会摸棱两可,不能立即理清思路,故今天将冒泡、快速、选择排序重新梳理一遍,并借鉴他人的原理表述发布出来,以便日后时常提醒。若有什么不足的地方,还望指教!!!冒泡排序冒泡排序的基本思想是:每次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。void Bubble_sort(int *arr,i...

2019-02-16 13:00:06 254

设计模式C++版 + 源码

设计模式C++版 + 源码

2021-12-16

空空如也

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

TA关注的人

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