自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 资源 (14)
  • 收藏
  • 关注

原创 UE 宏定义GENERATED_BODY

在学习UE4的时候,看到C++工程中,在实现父类的BeginPlay()和Tick()以及SetupPlayerInputComponent()这些虚函数时,都能看到里面有用到Super类型,如下:// Called when the game starts or when spawnedvoid AMyActor::BeginPlay(){ Super::BeginPlay(); }// Called every framevoid AMyActor::Tick(floa...

2021-08-09 02:03:28 1326

原创 C# 正则表达式

按时

2021-06-22 10:05:01 905

原创 Tftp服务器使用以及TcpDump抓包

一、什么是Tftp

2021-05-15 16:28:35 1442 4

原创 WinForm TabControl美化

设置Alignment=left设置DrawMode=OwnerDrawFixed // 设置该属性,可以自己绘制标签内的字设置ItemSize=30,100设置SizeMode=Fixed

2021-04-10 17:47:51 10078 7

原创 小数的二进制和十六进制表示

简述今天在研究生复试面试的过程中被问到小数的二进制和十六进制形式怎么表示,然而这个知识点已经记不得了,只能尴尬的和老师说这个知识点没有掌握好,回去会继续学习。不过最后的成绩还不错,复试第三,回去查了下小数的二进制和十六进制的表示方法,在这里做一个记录。十进制小数转N进制小数,方法为小数部分乘N取整,每次乘以相应基数之后取结果的整数部分即可。需要注意的是并非所有的十进制小数都能完全转化为N进制小数,这时就需要取近似值。下面详细说下十进制小数转为二进制小数和十六进制小数的方法。小数用二进制表示.

2021-03-27 17:26:11 13934

原创 Linux FFmpeg依赖库编译

使用libfreetype库在视频顶部的指定文件中绘制文本字符串或文本。要启用此过滤器的编译,您需要使用配置FFmpeg--enable-libfreetype。要启用默认字体后备和字体选项,您需要使用配置FFmpeg--enable-libfontconfig。要启用text_shaping选项,您需要使用配置FFmpeg--enable-libfribidi。https://blog.csdn.net/quantum7/article/details/104460115/...

2021-02-23 09:56:17 1191

原创 Unity3D 官方资源包Standard Assets导入

简述在使用Unity2018以上的版本时,在Import Package,不再有官方的资源包了,变成了只有一个自定义包的选项,那我们应该怎么使用官方的标准资源包呢?下载官方资源包这是因为这个资源包不再默认提供,我们可以直接去资源商店下载。资源商店在Unity中点击Asset Store,会打开资源商店的网页。在资源商店中,搜索 standard assets ,然后把它添加到我的资源中就可以在Unity中下载了。之后我们就可以在Unity中的Package Mana.

2021-02-15 22:37:00 37843 16

原创 C++ CURL使用

httpclientdemo.cpp// httpclientdemo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <string>#include "include/curl/curl.h"#include "hmac.h"#include "sha1.h"#include "json.h"#include <cstdio>#include .

2021-02-09 17:03:53 10665

原创 Windows 麦克风音频采集 PCM、G711a格式

// MicAudioGatherDlg.h : 头文件//#pragma once#include <windows.h>#include "G711Codec.h"#ifndef _INC_MMSYSTEM#pragma warning(disable: 4201)#include <mmsystem.h>#endif#pragma comment(lib, "winmm.lib")#define BUFFER_SIZE 1024#define P.

2021-02-09 13:47:26 4923

原创 Linux 编译FFmpeg

(Fast Forward Mpeg)是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源框架,其中大部分功能都是使用C语言从头开发的,保证了它的高可移植性和编解码质量。FFmpeg有非常强大的功能包括功能、、视频抓图、给视频加水印等,基本上谈到对视频、音频的操作都离不开FFmpeg。最近一个项目上需要用到视频的格式转换,这里记录一下FFmpeg的编译。提取码:be18。

2021-02-08 17:50:14 1340 1

原创 Windows下CURL编译 支持HTTPS

cURL是一个Linux下利用URL语法工作的文件传输工具,

2021-01-28 21:47:16 5270

原创 Windows下编译OpenSSL

一、OpenSSL简介OpenSSL是一个开源的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。SSL能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。这里是在Windows环境下编译OpenSSL的源码,记录一下我编译的过程。发下我编译好的OpenSSL库,可以直

2021-01-27 18:36:04 2170 3

原创 Linux内存泄漏检测工具 Valgrind使用

最近

2020-10-14 14:00:55 1010

原创 c# 跨线程访问控件

https://www.cnblogs.com/lvdongjie/p/5428815.html

2020-09-29 20:22:50 3725

原创 Linux 分析死锁的简单方法

简介死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程(线程)在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。一种交叉持锁死锁的情形,此时执行程序中两个或多个线程发生永久堵塞(等待),每个线程都在等待被其它线程占

2020-09-29 10:04:25 619

原创 volatile关键字

一、介绍volatile是一个特征修饰符(type specifier),它的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。不光在C#中有volatile这个关键字,在C++和C中同样有。编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看

2020-09-28 20:52:02 451

原创 Linux GDB调试coredump

一、GDB和coredumpGDB是Linux下非常好用且强大的调试工具。GDB可以调试C、C++、Go、java、 objective-c、PHP等语言。对于一名Linux下工作的程序员,GDB是必不可少的工具。Coredump叫做核心转储,它是进程运行时在突然崩溃的那一刻的一个内存快照。操作系统在程序发生异常而异常在进程内部又没有被捕获的情况下,会把进程此刻内存、寄存器状态、运行堆栈等信息转储保存在一个文件里。该文件也是二进制文件,可以使用gdb、elfdump、objdump或者windows

2020-09-12 16:59:22 1364

原创 单播、多播(组播)和广播

单播、多播和广播单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在?1.单播:网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递只在两个节点之间进行。单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。例如,你在收发电子邮件、浏览网页时,必须与邮件服务

2020-09-09 20:33:12 902

原创 Windows 临界区(CRITICAL_SECTION)的使用

同步和互斥机制基本概念同步和互斥的概念有时候很容易混淆,可以简单地认为同步是更加宏观角度的一种说法,互斥是冲突解决的细节方法。所谓同步就是调度者让任务按照约定的合理的顺序进行,但是当任务之间出现资源竞争,也就是竞态冲突时,使用互斥的规则强制约束允许数量的任务占用资源,从而解决各个竞争状态,实现任务的合理运行。同步和互斥密不可分,有资料说互斥是一种特殊的同步,对此我不太理解,不过实际中想明白细节就行,文字游戏没有意义。简单来说:同步与互斥机制是用于控制多个任务对某些特定资源的访问策略 同步

2020-09-06 02:34:25 3514

原创 Linux 互斥锁 递归锁 自旋锁 读写锁

锁是什么,我们为什么要用到锁?回到问题的本质,我们在什么场景下会用到锁,是在针对于公共资源,也就是临界资源的使用。对于多线程编程,当两个或多个线程同时访问或对一个临界资源操作的时候,为了防止出现数据不一致的问题,我们在使用之前要进行加锁,使用完后进行解锁。...

2020-09-06 01:47:51 3717

原创 C# Marshal.SizeOf和sizeof的区别

今天在C#的程序中导入C++的dll时,发现C++中结构体里的bool类型变量是用的BOOL,在C++头文件中定义的是int为BOOL,占4个字节。C#中相应的结构体里用的却是bool类型,可是bool类型只占一个字节,于是我就产生了疑问,为什么这样不会导致结构体所占的字节大小不同呢?这是因为我们在封装定义结构体时,是非托管代码。我们在C#中直接sizeof(bool),得到的是1字节,但是如果我们Marshal.SizeOf(typeof(bool)),获取bool的非托管类型大小得到的就是4个字节。

2020-07-18 01:55:33 2069

原创 QT QWebEngineView加载百度地图

Qt5.5之后使用新的QWebEngineView代替了之前的QWebKit,加载数据的方式也由同步变成了异步。所以访问网站页面和加载HTML页面都需要使用QWebEngineView类。项目要求在程序中显示地图,并能够通过串口接收无人机上图传里的GPS实时传回来的经纬度,并在地图上画出无人机的飞行轨迹。由于需要在QT中加载百度地图,所以需要用QWebEngineView进行QT与HTML/JavaScript的交互,在HTML文件中调用百度地图的API显示地图和地图上的一些控件。因为要实时显示无人机的

2020-05-10 03:22:45 5940 7

原创 QT 国际化

最近在做软件的中英文切换功能,所以找了些资料,研究了一下Qt的国际化,这里分享一下。现将实现方式记录下来,也是方便自己以后查找。效果代码之路...

2020-05-09 02:50:06 616

原创 QT 在子窗口中调用主窗口的UI

在QT中,我们时常会需要在主窗口里添加一些子窗口,比如添加一个新的对话框,或者在TabWidget中添加tab页面。通常添加子窗口后,如果在子窗口中做了一些操作,我们需要在主窗口中通过UI控件反映出来,但是由于ui对象是私有对象,所以一般的做法是使用QT中的信号槽机制,连接主窗口和子窗口对象,然后发送信号即可。但是这种方法也有弊端,就是当我们在子窗口中有很多操作需要在主窗口中表现出来,我们就需...

2020-05-02 16:00:20 9566 8

原创 C++ 调用dll的方法

在C++中,为了支持重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,加入比如函数的返回类型等等.而在C中,只是简单的函数名字而已,不会加入其他的信息.也就是说:C++和C对产生的函数名字的处理是不一样的。dll的开发者可以通过dll隐藏接口的代码实现,比如你只想让其他人使用你的算法,但不想让其他人知道你的算法和逻辑代码,就可以把它们封装到dll中。动态调用不是链接时完成的,而是在运行时完成的,动态调用不会在可执行文件中写入DLL相关的信息,而是直接调用dll中的函数。

2020-05-01 03:27:58 53080 13

原创 QT pro文件中路径设置、调用dll

一、描述工程工程文件.pro描述了工程信息。工程文件信息会被qmake用于生成包含构建过程中所需的所有命令的MakeFile。工程文件通常包含一系列头文件和源文件,通用配置信息以及音乐程序指定的细节,如应用程序的链接库、搜索路径。工程文件包含一定数量的不同元素,如注释、变量声明、内置函数以及简单的控制结构。在大多数简单的工程中,只需要声明使用简单配置选项构建工程的源文件和头文件即可。...

2020-04-22 12:56:08 8010 3

原创 C# 调用C++非托管dll

https://blog.csdn.net/so927/article/details/9426971

2020-04-15 10:57:02 450

原创 C++ 回调函数

2020-04-04 02:42:56 1182 1

原创 Unity3D 移动物体方式总结

简述在Unity 3D中很多时候我们会想要移动一个物体到别的位置,如让想人物跑动起来,或者想要移动相机来跟随人物。有很多种方法可以改变物体的坐标,实现移动的目的,移动的本质是在每一帧中修改物体的position。在这里把之前使用过的移动物体的方法做一个总结。一.TransformTransform 组件用于描述物体在空间中的状态,它包括位置(position), 旋转(rotat...

2020-03-05 14:08:42 1908

原创 C++Primer第五版 第六章习题答案

练习6.1 形参:在函数参数列表中声明的局部变量,它们由每个函数调用中提供的参数初始化,作用是说明函数参数的类型。 实参:函数调用中提供的值,用于初始化函数的参数。练习6.2 函数的类型必须与函数的返回类型相匹配 实参的类型必须与对应的形参相匹配(a) // 返回类型是string,所以函数类型也应该是string s...

2020-02-20 10:01:03 1762 1

原创 C++Primer第五版 第五章习题答案

练习5.1 空语句:最简单的语句,空语句只有一个单独的分号。当程序中在语法上需要一条语句但是逻辑上却不需要时,此时应该使用空语句。//不断的读取输入流的内容,直到输入中遇到s。while (cin >> a && a != s) ; //使用空语句时,应该加上注释,使得代码阅读者知道语句是有意义的。练习5.2...

2020-02-16 21:40:28 1272

原创 C++Primer第五版 第四章习题答案

练习4.1

2020-02-15 17:25:27 1006

原创 C++Primer第五版 第三章习题答案

练习3.1...

2020-02-12 22:55:52 2194

原创 C++Primer第五版 第二章习题答案

练习2.1 short和int至少16位,long至少16位,long long至少32位。 有符号可以表示正数、负数和零,无符号只能表示不小于零的数。 float是单精度浮点数,有6位有效数字,double是双精度浮点数,有10位有效数字。用法: 使用整数运算。short通常太小,实际上long通常与int的大小相同,如果数据值大于in...

2020-02-10 23:04:34 1716 3

原创 C++Primer第五版 习题答案

最近疫情严重,哪也不能去一直待在家里,正好趁着有时间,可以做一些自己喜欢的事情或者一直想做却因为没时间而搁置的事情。就想着把C++Primer这本书重新看一遍,这本书是入门必看,主要是想借着重新看一遍这本书,把自己的知识再复习整理一遍,让零散的东西形成体系,能更扎实的掌握。看的不是很快,课后的习题一题一题写完自己运行一遍也需要时间,虽然慢,但一定会写完。 这本书知...

2020-02-08 22:30:00 1086 3

原创 C++Primer第五版 第一章习题答案

练习1.3#include <iostream>int main(){ std::cout << "Hello, World" << std::endl; return 0;}练习1.4#include <iostream>int main(){ std::cout << "E...

2020-02-08 18:13:28 1224 1

原创 QT 任务栏进度条

简述我们下载东西的时候都会想知道自己下载多少了,还有多久可以下完,但是我们也不可能一直盯着程序中的进度条看,还要去做别的事。这时候任务栏进度条就有用了,我们可以在做别的事时只需要看任务栏进度条就能够知道下载的进度了,很多软件都有这样的功能,比如谷歌浏览器、迅雷。 ...

2019-05-31 11:46:04 2593 1

原创 C# 使用C++调用C#的DLL

简述我们有时候需要在C++程序中去使用一些C#程序的代码,但是又不想弄的太麻烦,或者是我们想要使用别人写好的C#库,那么该怎么办呢?最方便的就是把C#编译成dll,然后用再在C++中去调用。目录一、C#项目生成DLL(一)、新建项目生成dll(二)、已有项目生成dll二、调用C#的dll(一)、在C#项目中调用C#的dll(2)C++调用C#的dll——直接调用...

2019-05-29 17:45:23 1656

原创 Windows下进程间通信的方法

简述百度词条对进程间通信的定义:进程间通信(IPC-Interprocess communication),就是在不同进程之间传播或交换信息。那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个...

2019-05-24 11:17:33 611

原创 QT 进程间通信——Socket通信

简述通过Qt提供的QtNetwork模块即可实现进程间通信,TCP/IP在实现应用程序和进程内部通信或与远程进程间的通信方面非常有用。QtNetwork模块提供的类能够创建基于TCP/IP的客户端与服务端应用程序。为实现底层的网络访问,可以使用QTcpSocket、QTcpServer和QUdpSocket,并提供底层网络类。还提供了使用常规协议实现网络操作的QNetworkRequest、Q...

2019-05-24 11:16:04 8647 6

QTreeView模糊查询示例

QTreeView和QStandardItem使用示例,并可以模糊查询

2024-09-16

QCustomPlot使用示例

使用QCustomPlot绘制色阶图,并且在色阶图上绘制文字和图形的使用代码示例,效果查看博客:https://blog.csdn.net/Sakuya__/article/details/141603313?spm=1001.2014.3001.5501

2024-08-27

自己用Qt写的一个美化的登录界面

Qt写的一个美化的登录界面,效果看博客https://blog.csdn.net/Sakuya__/article/details/140868144

2024-08-02

斯坦福大学3D扫描库的ply文件

斯坦福大学的3D扫描库点云文件,包括bunny.ply,dragon.ply等等共8个点云文件。

2024-07-17

Qt 基于QListView的树状导航控件

Qt自定义导航栏控件,基于大佬 feiyangqingyun 的导航控件做了美化和崩溃bug修改

2024-06-11

Tftp工具和himix200的tcpdump抓包工具

开启Tftp服务器,可以给开发板传文件

2021-05-10

MicAudioGatherDlg.zip

Windows下麦克风音频采集 PCM、G711a格式,主要使用的是Windows提供的API函数Waveform Audio API

2021-02-09

FFmpeg.rar

自己编译的Linux下用的FFmpeg库,版本为FFmpeg-4.3,静态库和动态库都在里面

2021-02-08

libcurl.rar

编译好的CURL库,支持HTTPS,使用OpenSSL静态库编译,不需要再依赖OpenSSL的库,32位64位都有。

2021-01-28

opensll_lib.rar

Windows下用的编译好的OpenSSL库,32位和64位的静态库和动态库共四个,版本openssl-1.1.1h.tar,包括头文件,lib,dll

2021-01-28

QT socket通信.zip

通过Qt提供的QtNetwork模块实现进程间通信,效果可见https://blog.csdn.net/Sakuya__/article/details/89521100

2020-07-18

Internationalization.zip

使用Qt实现国际化的一个小例子,代码简单易懂 ,结合博客一起看https://blog.csdn.net/Sakuya__/article/details/105988452

2020-05-09

C#读写三菱PLC和西门子PLC数据程序(源代码)

C#读写三菱、西门子、MoModbus、欧姆龙、松下等PLCDemo,是另一个博主写的开源代码HslCommunication,可直接运行

2019-05-10

编程工具软件:eXeScope

软件eXeScope,用于分析,显示,重写可执行文件的资源,包括(EXE,DLL,OCX,VBX)等,解压后运行eXeScope.exe即可

2019-04-11

QT 串口通信助手

效果看https://blog.csdn.net/Sakuya__/article/details/88840809。该程序为串口助手,基于QT5编写。各种串口需要的功能都有,包括串口设置,hex和chr接收发送。源代码都在里面。

2019-04-03

QT 串口通信助手15415

发错了,如要下载看https://download.csdn.net/download/sakuya__/11085991

2019-04-03

QT TableView自定义委托

效果看https://blog.csdn.net/Sakuya__/article/details/88895498。使用自定义委托实现在TableView中添加Combobox、Spainbox、CheckBox控件。

2019-03-29

QT 串口通讯助手

效果看https://blog.csdn.net/Sakuya__/article/details/88840809。该程序为串口助手,基于QT5编写。各种串口需要的功能都有,包括串口设置,hex和chr发送。源代码都在里面。

2019-03-27

QT 实现FTP客户端

使用QT5.4以上的QNetworkAccessManager类实现的FTP客户端,可以实现上传和下载的功能

2019-01-28

空空如也

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

TA关注的人

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