- 博客(101)
- 资源 (5)
- 收藏
- 关注
原创 cryptopp交叉编译
先执行:export CXX=aarch64-himix100-linux-g++若报错,可添加加-mfloat-abi=softfp -mfpu=neon参数。修改GNUmakefile-cross。修改GNUmakefile-cross。
2022-09-06 14:42:17
384
原创 Qt 生成后事件妙用
使用Qt开发的时候,如果生成了应用程序,需要直接运行是不可以的,需要发布,使用windployqt命令,但是第三发库不能自动复制进去。VS有vcpkg,nuget,可以很方便的复杂到应用程序同级目录,貌似对Qt不太友好。所以,妙用生成后事件,可以将第三方库复制到指定位置。...
2022-08-17 16:48:28
331
转载 qt Creator 生成pdb文件、dump文件 、管理员权限、release 版本调试
在.pro 文件中添加 重新构建 生成pdb文件QMAKE_LFLAGS_RELEASE += /MAPQMAKE_CFLAGS_RELEASE += /ZiQMAKE_LFLAGS_RELEASE += /debug /opt:ref管理员权限.pro 文件添加 亲测可用 qt5.9.3 msvc2015 win32QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\...
2022-05-25 09:02:29
3256
原创 我的学习笔记
#define tb_check_return(x) do { if (!(x)) return ; } while (0)#define tb_check_return_val(x, v) do { if (!(x)) return (v); } while (0)#define tb_check_goto(x, b) do { if (!(x.
2022-03-29 13:22:27
361
原创 Log4cpp 配置文件配置Syslog
直接上完善的config文件# property configurator test file# typedef enum {EMERG = 0, # FATAL = 0,# ALERT = 100,# CRIT = 200,# ERROR = 300, # WARN ..
2022-01-27 13:45:02
696
1
原创 Linux 常用命令记录
解压压缩:tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!).gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName.bz2解压1:bzip2 -d Fi
2022-01-18 10:16:55
763
原创 开源项目,值得收藏
1,HTTP服务端/客户端https://github.com/yhirose/cpp-httplib?utm_source=gold_browser_extension2,Webrtc-Streamerhttps://github.com/mpromonet/webrtc-streamer3,高性能跨平台网络通信框架https://gitee.com/ldcsaa/HP-Socket
2022-01-13 13:10:11
113
原创 Windows C++ ping命令实现
摘录知名博主的源码,亲测可以,如下:#include <stdio.h>#include <winsock2.h>#pragma comment(lib, "ws2_32.lib")// IP数据包头结构typedef struct iphdr{ unsigned int headLen:4; unsigned int version:4; unsigned char tos; unsigned short totalLen;
2022-01-12 13:16:01
1484
原创 NV12 to RGB
typedef unsigned char UINT8;typedef unsigned int UINT32;static UINT8 RTable[256][256];static UINT8 GTable[256][256][256];static UINT8 BTable[256][256];static void NV12_T_RGB_Table(){ int y, u, v, res; for (y = 0; y <= 255; y++) .
2021-12-30 11:06:24
3495
原创 ffmpeg编译,支持QSV,CUDA
一、配置环境 1、下载工具 下载mfx源码:https://github.com/lu-zero/mfx_dispatch.git 下载msys2,并安装 下载ffmpeg 2、编译库(64位) a、在系统开始菜单中启动MSYS2 MSYS,在终端中执行以下升级操作: pacman –Syu/* 重新启动MSYS2 MSYS */pacman -Supacman –S g...
2021-12-15 12:13:29
2486
原创 部署ubuntu开发环境
1,修改阿里镜像源 /etc/apt/source.listdeb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-secur..
2021-12-02 14:10:41
950
原创 C++ tinyxml
推荐一款轻量级,实用的xml读写开源模块tinyXML下载:http://sourceforge.net/projects/tinyxml/加载到项目:这六个文件添加到你的c++工程中,分别是tinystr.h、tinystr.cpp、tinyxml.h、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp...
2021-08-24 13:22:48
120
原创 常用的字符转换函数
//************************************************************// 函数名称: string_To_UTF8// 函数说明: string转UTF8// 参 数: str 需要转换的字符串// 返 回 值: string 转换后的字符串//***********************************************************std::string string_To_UTF8(const st..
2021-08-19 10:46:14
2580
原创 Qt+MSVC 解决编程过程中中文乱码和报错的问题
Qt开发过程中,如果有报错:常量中有换行符(如下图)解决方式如下:将写有中文的文件(如mainwindow.cpp)使用记事本打开,并另存为时将编码格式改为带BOM的UTF-8格式,并替换。保存之后,报错就可以解决了,但是中文会乱码(如下图)解决方式如下:在头文件加入:#pragma execution_character_set("utf-8")......
2021-05-24 12:01:34
167
转载 WIN10+VS2015 下载、编译和使用GOOGLE BREAKPAD
一、下载准备1.1 下载breakpadbreakpad源码官方网址:https://chromium.googlesource.com/breakpad/breakpad官方下载方法,git命令:git clone https://chromium.googlesource.com/breakpad/breakpad1但如果下载出错,如:Cloning into ‘breakpad’…fatal: unable to access ‘https://chromium.googl
2021-05-17 14:35:33
636
1
原创 Ubuntu安装容器docker
最近是要使用docker,需要在Ubuntu下部署容器,以下是我对容器的安装和使用的一些笔记。1,安装docker:#Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 #Docker。通过 uname -r 命令查看你当前的内核版本$ uname -r$ sudo apt-get update#安装docker$ sudo apt-get install -y docker.io#启动docker 后台服
2021-05-06 13:17:43
3148
原创 python安装常用库
安装cv2:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
2021-05-04 10:53:25
162
原创 Linux下的常规字符串处理函数实现
strlwr函数的功能是将字符串中的S参数转换为小写形式。char *strlwr(char *s){ char *str; str = s; while(*str != '\0') { if(*str >= 'A' && *str <= 'Z') { *str += 'a'-'A'; } str++; } return s; }
2021-04-30 14:14:12
184
原创 推荐一款开源的加解密算法 --- XXTEA
git地址:https://github.com/xxtea/xxtea-c.git代码块:xxtea.h/**********************************************************\| || xxtea.h ||
2021-04-25 09:11:43
1504
转载 QT pro文件和pri文件的区别
pro文件是一个工程文件,就是可以独立执行的项目的最高首领;pri文件比pro文件简单的多,单纯的为了编者逻辑上的区分或者思路的厘清,不具备单独执行的条件一般pri文件包含:HEADERS += \page/systemsetup.h \SOURCES += \page/systemsetup.cpp \也就是其头文件和源文件;其实用pri文件的地方完全可以用pro文件代替,只不过前者简单实用;...
2021-04-09 10:44:58
1947
原创 ubuntu 18.04 安装log4cpp
1、下载地址:http://sourceforge.net/projects/log4cpp/2、解压下载的压缩文件:log4cpp-1.1rc3.tar.gz,可以使用命令行,或者右键压缩包,在弹出菜单项中选择“解压至此处”,命令行为:#test.tar.gz为log4cpp的压缩包tar -zxvf test.tar.gz3、解压后的文件夹名为log4cpp,在终端(快捷键ctrl+alt+t)中,cd到该文件夹下,注意需要root权限。4、在终端中依次输入如下命令,即可完成
2021-04-06 16:02:32
904
原创 ubuntu 18.04安装opencv3.1.0
1、下载opencv3.1.0.ziphttps://opencv.org/releases.html2、上传解压zip文件3. 进入源码目录,创建release目录cd opencv-3.1.0 mkdir release 4、安装依赖包依赖包说明GCC 4.4.x or later CMake 2.6 or higher Git GTK+2.x or higher, including headers (libgtk2.0-dev) pkg-con..
2021-03-27 11:16:58
1376
1
原创 Qt mysql从安装,使用,到发布
由于工作安排,需要使用Mysql,平时都是使用的是Sqlserver,和Sqlite,而这次使用Mysql,着实有点不适应,所以这次把遇到的问题记录下来,希望可以帮到大家。一、mysql的安装: 1,下载地址如下:https://dev.mysql.com/downloads/mysql/ 2,下载成功之后,解压,并在目录下创建my.ini文件,并将以下数据复制到该文件中。注意,basedir和datadir的路径按你自己的要求改一下。还有需要添加环境变量,就是该目录下的bin文...
2021-03-22 10:17:04
1344
5
原创 ZLMediaKit 下载以及编译(windows,ubuntu)
一,Ubuntu搭建ZLMediaKit1,安装cmake$ apt-get install -y cmake# 查看cmake版本,如果版本过低需要重新自己下载,ZLM的版本要求使3.13$ cmake -version# 卸载$ apt-get remove cmake这里选择的使cmake版本3.18.3的。# 解压$ tar zxvf cmake-3.18.3-Linux-x86_64.tar.gz# 重命名$ mv cmake-3.18.3-Linux-x86
2021-03-08 16:43:53
4770
1
原创 Ubuntu 安装Qt以及配置
1)安装 Qt:第一步:到官网http://download.qt.io/archive/qt/下载 Qt 安装包,此处本人安装的是 qt-opensource-linux-x64-5.7.0.run;第二步:打开终端,输入命令:“sudo chmod -R 777 qtopensource-linux-x64-5.7.0.run”,赋予安装包权限;第三步:开始安装 Qt,输入命令“./qt-opensource-linux-x64-5.7.0.run”或者“sudo ./qt-opensour
2021-03-08 10:13:34
550
原创 c++:递归方式求整数数组的最大值,平均值,以及求和
///> 求平均值float getAverage(int* a,int n){ if(n==1) { return (float)a[0]; } else { return (float)(a[n-1] + (n-1) * getAverage(a,n-1)) / n; }}///> 求最大值int getMaxValue(int* a,int n){ if(n==1) { .
2021-02-23 20:59:56
1436
1
原创 在Ubuntu下使用nginx-rtmp-module搭建直播系统
直播系统最简单地包括推流和拉流,在这里先使用nginx-rtmp-module作为流媒体服务器。流媒体服务器搭建1. nginx-rtmp-module下载和安装源码地址:https://github.com/arut/nginx-rtmp-module使用git命令下载:git clone https://github.com/arut/nginx-rtmp-module.git2.nginx源码下载及编译安装nginx下载: wget http://nginx.org/downlo
2021-02-01 13:43:48
336
原创 解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid
重新启动服务器,访问web服务发现无法浏览啦!登陆服务器之后进到nginx使用./nginx -s reload重新读取配置文件,发现报nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)错误,进到logs文件发现的确没有nginx.pid文件 [root@localhost sbin]# ./nginx -s reload nginx: [error] open
2021-02-01 12:30:07
385
原创 ubuntu 部署vlc发现的一些问题解答
1,解决error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file解决方法:将需要用到的库放到/usr/loca/lib;2,E: 无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 12205(unattended-upgr)持有。。。解决方法:我所出现的错误是/var/lib/dpkg/lock-frontend问题,我用了下面三行命
2021-01-06 12:50:06
511
转载 C++虚函数表
虚函数表C++中虚函数是通过一张虚函数表(Virtual Table)来实现的,在这个表中,主要是一个类的虚函数表的地址表;这张表解决了继承、覆盖的问题。在有虚函数的类的实例中这个表被分配在了这个实例的内存中,所以当我们用父类的指针来操作一个子类的时候,这张虚函数表就像一张地图一样指明了实际所应该调用的函数。C++编译器是保证虚函数表的指针存在于对象实例中最前面的位置(是为了保证取到虚函数表的最高的性能),这样我们就能通过已经实例化的对象的地址得到这张虚函数表,再遍历其中的函数指针,并调用相应的函数
2020-09-23 17:34:16
415
原创 构造函数可以为虚函数吗?
面试管问你,构造函数可以为虚函数吗?如果你知道,你可以勇敢的反问,能不要问这么简单的问题吗?如果你不知道,请记住这个答案-----不能!以下是copy一个CSDN大佬写的博客,刚好我是后者! 从存储空间角度 虚函数对应一个vtable,可是这个vtable其实是存储在对象的内存空间的。 那么问题来了,如果构造函数是虚函数,就要通过vtable来调用,可是对象空间还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。 从使用角度 虚函数主要用于在信息不全
2020-09-23 16:27:10
5757
2
原创 设计模式之观察者模式
观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时去监听一个主题对象,在主题对象发生状态变化时,通知给所有的观察者对象。
2020-09-09 22:07:06
124
原创 设计模式之单例模式
单例模式单例模式分为两种:懒汉模式,饿汉模式。懒汉模式:C++的构造函数不是线程安全的,在多线程的情况会不安全,原因是第一次实例化对象的时候并不是原子的,比如一个线程执行了new的同时,在另个线程里面对if进行判断的时候,此时实例有可能没被创建出来。懒汉模式,顾名思义,不到万不得已就不会去实例化类,也就是说在第一次用到类实例的时候才会去实例化。在访问量较小的时候,采用懒汉模式。这是以时间换空间。饿汉模式:即饿了肯定要饥不择食。所以在单例类定义的时候就进行了实例化。其本身是线程安全的。由于要进行线
2020-09-09 16:11:05
119
DXSDK2010_XAudio2_redist.7z
2019-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人