- 博客(75)
- 资源 (2)
- 收藏
- 关注
原创 为什么QOpenGLWidget渲染yuv420数据,1166*540分辨率,显示错位?
paintGL()渲染正常yuv420数据流,分辨率未1166*540,opengl渲染时像素错位了,这是为什么? 猜想:是否是opengl在切换分辨率之后,需要调用什么重置函数或者是清理缓存的函数?
2022-03-16 16:11:59
739
原创 2021-09-06
#pragma once #include <QOpenGLWidget> #include <QOpenGLFunctions> #include <QGLShaderProgram> #include <mutex> class SDOpenGLWidget : public QOpenGLWidget, protected QOpenGLFunctions, public IVideoView { Q_OBJECT public: expli.
2021-09-06 18:47:02
189
原创 测试使用libevent创建服务器,并且能够正常接收到socket连接回调
/*** * @projectName libevent_test_server * @brief 功能介绍:测试使用libevent创建服务器,并且能够正常接收到socket连接回调 * @param 参数说明 * @return 返回值说明 * @note 使用注意事项 */ #include <iostream> #include <event2/event.h> #include <event2/listene
2020-10-16 11:44:03
238
原创 libevent-2.1.11-stable 编译
Libevent编译 zlib编译 https://blog.youkuaiyun.com/qq_36685978/article/details/109029243 openssl编译 https://blog.youkuaiyun.com/qq_36685978/article/details/109032032 libevent编译(含openssl模块) 编译环境: windows10 VS 2017的 x64_x86 交叉工具命令提示符 清理之前的编译 nmake /f Makefile.nmake cl
2020-10-14 18:02:31
717
2
原创 openssl源码编译
openssl源码编译下载编译资源(nasm、Perl、openssl源码)nasm设置环境变量Perl安装openssl源码编译编译脚本(用管理员权限启动脚本) 下载编译资源(nasm、Perl、openssl源码) nasm:https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/nasm-2.15.05-win64.zip Perl:https://www.cpan.org/src/5.0/perl-5.32.0.tar.gz openssl:
2020-10-12 17:27:18
948
原创 zlib源码编译
zlib源码编译下载源码编辑脚本设置vs2017编译器路径设置编译完成之后文件的输出路径打开编译器进入zlib源码文件夹清理编译生成的文件编译创建编译输出文件夹将编译生成的文件以覆盖的方式copy值输出文件夹 下载源码 http://www.zlib.net/zlib-1.2.11.tar.gz 编辑脚本 set VS=“C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_x
2020-10-12 15:49:42
1175
原创 智能指针析构局部变量,程序crash
#include <iostream> using namespace std; // B S == > RAII // Resource Acquisition is Initialzation //资源分配应当与对象寿命周期绑定起来 //创建对象的时候,我们就分配资源 ===》构造函数 //销毁对象的时候,我们就回收资源 ===》析构函数 //所谓智能指针就是把裸指针:封装成一个类 //operator -> * template <class T> class .
2020-06-19 14:33:37
524
原创 Qt 5.6.3 fatal error LNK1170
原因 qmake / nmake:防止链接和lib响应文件中的行过长链接过多的目标文件可能会导致“ LNK1170:命令文件中的行包含131071个或更多字符”。 不要将所有.obj文件写成一行,但要注意不能超过1000个字符。如果达到限制,则目标文件将以换行符代替空格。 解决方法 - 1.更改源码 [官方链接](https://codereview.qt-project.org/c/qt/qtbase/+/184977) - 2.重新编译qmake - 管理员权限打开:VS2015 x86 本机工
2020-06-15 18:41:30
358
原创 extern
C++比C多一个函数重构,C++同一个函数名可以有不同的参数不同的返回值,C是不行的同一个函数名只能有一种参数;函数编译之后是需要存到exe\dll文件中,C语言中他是以函数名为索引存入exe\dll文件中;C++中同一个函数名可能不是同一个函数,所以不同的函数它会加入不同的参数最后组织成函数索引. extern "C" { #include "libavformat/avformat.h"...
2020-05-07 15:53:36
126
原创 (2)- 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 来源:力扣(L...
2020-01-17 10:24:09
210
原创 Python刷题(1) - 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 来源:力扣(Leet...
2020-01-14 16:14:02
246
原创 random
random 随机数 所有的随机模块都是伪随机 import random # random() 获取0 - 1之间的随即小数 # 格式:random.random() # 返回值:随机0 - 1之间的小数 print(random.random()) 0.03539160320473711 # 利用random函数,生成0 - 100之间的整数 # choice() 随机返回序列中的...
2019-11-11 18:33:51
223
原创 归档和压缩 - zip
归档和压缩 归档:把多个文件或者文件夹合并到一个文件当中 压缩:用算法把多个文件或者文件夹无损或者有损的合并到一个一个文件当中 # make_archive() 归档操作 # 格式: shutil.make_archive(归档之后的目录和文件名,后缀,需要归档的文件夹) # 返回值:归档之后的地址 # 是想得到一个叫做python.zip的归档文件 rst = shutil.make_ar...
2019-11-11 18:33:09
937
原创 shutil
shutil 模块 import shutil # copy() 复制文件 # 格式:shutil.copy(来源路径,目标路径) # 返回值:返回目标路径 # 拷贝的同时,可以给文件重命名 # 注意:源路径文件一定得存在,否则会报错 rst = shutil.copy("D:\\PyCode\Python.txt","D:\\PyCode\Py.txt") print(rst) D:\PyC...
2019-11-11 18:32:36
229
原创 os模块
os - 操作系统相关 跟操作系统相关,主要是文件操作 与系统相关的操作,主要包含在三个模块里 os,操作系统目录相关 os.path,系统路径相关操作 shutil,高级文件操作,目录树的操作,文件值,删除,移动 路径 绝对路径:总是从跟,目录上开始 相对路径:基本以当前环境为开始的一个相对的地方 os模块 import os # getcwd() 获取当前的工作目录 # 格式...
2019-11-11 18:30:18
1026
原创 log
LOG logging logging模块提供模块级别的函数记录日志 包括四大组件 1.日志相关概念 日志 日志的级别(level) 不同的用户关注不同的程序信息 DEBUG INFO NOTICE WARNING ERROR CRITICAL ALERT EMERGENCY IO操作 ==> 不要频繁操作 LOG的作用 调试 了解软件的运行情况 分析定位问题 日志信息 ...
2019-11-09 15:45:29
129
原创 QTcpSocket - Server
#include "mainwindow.h" #include "ui_serverWindow.h" #include <QNetworkInterface> #include <QDateTime> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::s...
2019-11-08 16:19:35
265
原创 QTcpSocket - client
#include "mainwindow.h" #include "ui_clientWindow.h" #include <QMessageBox> #include <QDateTime> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::clientW...
2019-11-08 16:18:36
694
原创 dequeue、defaultdict、Counter
dequeue 比较方便的解决了频繁删除插入带来的效率问题 from collections import deque q = deque(['a','b','c']) print(q) q.append("d") print(q) q.appendleft("x") print(q) deque(['a', 'b', 'c']) deque(['a', 'b', 'c', 'd'])...
2019-11-08 16:05:30
181
原创 collections模块
collections模块 namedtuple deque namedtuple tuple类型 是一个可命名的tuple import collections Point = collections.namedtuple("Point",['x','y','z']) p = Point(11,22,33) print(p.x) print(p[1]) print(p[2]) 11 ...
2019-11-08 16:04:27
128
原创 enumerate
enumerate 跟zip功能比较像 对可迭代对象里的每一元素,配上一个索引,然后所有和内容构成tuple元组类型 # enumerate 案例1 l1 = [11,22,33,44,55] em = enumerate(l1) l2 = [i for i in em] print(l2) [(0, 11), (1, 22), (2, 33), (3, 44), (4, 55)] ...
2019-11-08 16:00:20
186
原创 偏函数
偏函数 # 把字符串转化成十进制数字 int("12345") # 求八进制的字符串12345,表示成十进制的数字是多少 int("12345",base=8) 5349 # 新建一个函数,此函数是默认输入的字符串是16进制数字 # 把此字符串返回十进制的数字 def int16(x,base=16): return int(x,base) int16("12345") 7456...
2019-11-07 10:35:18
173
原创 装饰器
装饰器 def hello(): print("Hello world") hello() Hello world f = hello f() Hello world # f和hello是一个函数 print(id(f)) print(id(hello)) print(f.__name__) print(hello.__name__) 2550992906848 25...
2019-11-07 10:33:52
95
原创 闭包(closure)
闭包(closure) 当一个函数在内部定义函数,并且内部的函数应用外部函数的参数或者局部变量,党内部函数被当做返回值的时候,相关参数和变量保存在返回的函数中,这种结果,叫闭包 上面定义的myF4是一个标准的闭包结构 # 闭包常见坑 def count(): # 定义列表,列表里存放的是定义的函数 fs = [] for i in range(1,4): ...
2019-11-07 10:30:00
160
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人