自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kata的博客

keep studying~

  • 博客(62)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 Qt程序嵌入第三方软件

Qt嵌入第三方软件实现代码

2023-04-27 14:25:09 1467

原创 UE4架构初识(七)

基础框架总结

2023-04-25 20:06:51 785

原创 UE4架构初识(六)

GameInstance设计理念

2023-04-25 19:51:28 726

原创 UE4架构初识(五)

玩家的定义

2023-04-25 19:40:03 208

原创 UE4架构初识(四)

两个主要类负责处理进行中游戏的相关信息:Game Mode 和 Game State。

2023-04-25 19:12:35 650

原创 UE4 架构初识(三)

玩家控制器与AI控制器设计理念

2023-04-25 17:31:26 806

原创 UE4 架构初识(二)

Pawn、Controller设计理念

2023-04-25 17:15:04 702

原创 UE4 架构初识(一)

UE4是最顶尖的引擎之一,性能和效果都非常出众,编辑器工作流也非常的出色,更难得宝贵的是完全的开源让我们有机会去从中吸取营养,学习世界上第一流游戏引擎的架构思想。

2023-04-25 15:43:38 1531

原创 QTableview实现表格内容用横线分割

QTableview用代理类重绘表格的item以实现表格内容用横线分割

2022-10-11 18:24:45 1326 5

原创 QT GraphisView框架绘制图片

使用QGraphicsPixmapItem绘制图片

2022-10-11 18:18:05 441

原创 bat文件启动程序后台运行

Bat启动程序后,控制台后台运行

2022-09-18 10:12:28 6290

原创 QGLWidget引起其他widget控件更新异常

1. 在使用osgearth开发程序时,发现将QGLWidget加入布局后,引起同一个父窗体下的其他Widget控件内容更新失效,只有快速拖动或者改变尺寸才会更新。添加代码: QSplitter* splitter = new QSplitter(this); splitter->addWidget(2dWidget); splitter->addWidget(3dWidget); QHBoxLayout* layout = new QHBoxLayo

2022-04-15 08:30:00 635 1

原创 C++中多继承的函数重载

1. 多继承的内存模型:如果AB两个父类中有同名函数,自身类没有重载该函数,则自身类的实例对象不能调用该函数,因为不确定该调用哪个父类的函数;如果自身类实现了该函数,则虚表A、续表B中的父类函数指针会被替换为自身类实现的函数的指针、(1)派生类的虚函数存储在第一个基类的虚函数表中,如下图所示:如果存在子类覆盖父类虚函数的情况,则虚函数表的情况如下所示: 只要类中有虚函数便会产生虚函数表,如果基虚函数被子类覆盖,则子类虚函数表中的函数指针指向子类的相应函数,未被覆盖时,则还...

2022-04-06 11:08:31 1220

原创 std::string 作为传参时调用接口数据异常问题定位

今天在调试编译出的动态库时,发现接口传参结构体中,std::string 类型的参数变成了null值,从文件编码格式到接口调用各个方面排查,均为修复,在此记录定位方法:1. 在动态库中新增值传递接口与const string& 接口,对比传入的数据,发现有未经处理的异常: Microsoft C++ 异常: std::bad_alloc,从而怀疑是库的版本问题 最终定位为 debug程序加载了relwithdebuginfo版本库,导致出现数据异常。在此做一记录。...

2022-03-10 21:06:35 859

原创 解决Qt中文乱码的方法

在代码开发中,尝尝遇到一些显示中文乱码的问题,在此记录自己用到的处理方式:1. 使用 QStringLiteral处理中文字符串,并更改文件的编码格式为utf-82. 使用如下预编译代码:#pragma execution_character_set("utf-8")...

2022-01-27 11:42:41 899 2

原创 问题处理记录--动态库不匹配导致的0xc000007b启动异常

在将Win10+VS2015环境下编译的程序打包发给其他环境进行测试验证时,发现在Windows7下总是出现上面这个错误,按照常规排查方案进行处理,均无效果,最后通过逐步对比dll文件,发现依赖库中有多个vs运行库文件不匹配导致启动异常,

2022-01-05 15:32:51 560

原创 问题处理记录--VS2015+QT工程编译文件启动提示0xc000007b无法启动

这两天在打包编译生成的文件时,将exe依赖的动态库一起打包在一个文件中后,出现了问题:在本地开发环境启动正常,在其他无开发环境的系统启动报错0xc000007b,根据自己的理解,结合网上查到的内容,从以下几个方面进行处理:1. 将已知的exe依赖dll拷贝到执行环境目录;(也可在其他指定目录,通过cmd启动时指定环境变量)2. 通过dependency 分析遗漏的dll文件;3. 添加msvc的运行库4. 通过vs生成后期事件,将qt的调试库直接拷贝到输出路径(也可直接在对应的qt.

2021-12-31 17:06:58 1052

原创 查看编译生成的库的编译版本及导出函数

最近在工作中需要检查自己使用到的库的版本与导出函数,可通过VS的命令行工具进行查看,在此做一记录:1. 查看版本dumpbin /headers test.dll即可查看版本:2. 查看导出函数dumpbin /exports test.dll...

2021-12-13 19:46:18 535

原创 Fast-RTPS问题: fastrtpsgen 生成文件执行错误

控制套出现错误提示:fastrtpsgen JointTrajectory.idl 调用错误,出现找不不到c1.exe,解决方案:是需要从vs的命令提示符窗口进行调用

2021-11-29 20:53:48 462

原创 CMake设置工程多处理器编译

在使用CMake创建较大工程时,可以通过以下方式在cmakelist.txt中设置工程为多处理器编译,提高编译速度,也可以省去在VS中直接单独设置的操作:######################使用多处理器编译########################IF (WIN32) if(MSVC) OPTION(USE_MP "use multiple" ON) OPTION(ProjectConfig_Global_COMPILE_FLAGS_WITH_MP ...

2021-10-17 20:45:29 3107 1

原创 Visual Stidio 2015 更新3失败解决方案

最近在编译工程的时候,提示以下错误:fatal error C1900: “P1”(第“20150812”版)和“P2”(第“20130802”版)之间 Il 在网上查阅相关资料后,发现问题出在vs编译环境中,需要安装update3,但是根据大部分的资料,不论是直接在扩展工具中安装,还是去官网下载update3 ,提示如下的安装失败: 折腾了大半天,怀疑是是微软下载链接存在异常,导致网络...

2021-10-13 10:59:03 7347 2

原创 OSG架构初识

本文参考<<osg最长一帧>>, <<OpenSceneGraph三维渲染引擎编程指南>>, <<OpenSceneGraph三维渲染引擎设计与实践>> 整理而来, 感谢大牛们的精彩著作. 相比Ogre来说, Ogre代码很规范, 只是入门资料较少,如果能在学习之前能总体上对架构有个印象就好了, 免得盲人摸象啊, 不过,还好有OSG.场景相关: Node, Geode, Group, Transform, LOD,...

2021-09-23 09:49:51 2606

原创 Linux进程资源监控命令

一、进程实时监控pidstat工具1、pidstat 概述pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。2、pidstat 安装pidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大多数...

2021-06-02 16:36:41 2371

原创 NodeJS远程调试--Chrome DevTools

目录Nodejs 使用 Chrome DevTools 调试一、远程调试步骤二、 指定端口调试Nodejs 使用 Chrome DevTools 调试 参考链接:https://cnodejs.org/topic/5a9661ff71327bb413bbff5bhttps://github.com/nswbmw/node-in-debugging/blob/master/4.2%20Chrome%20DevTools.md(补充:推荐结合nodemon使用。可以...

2021-05-08 13:13:59 1065

原创 Nodejs实现CSRF防护

Nodejs实现CSRF防护一、CSRF攻击简介 CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User...

2021-04-25 18:04:40 1324

原创 CSRF Tester工具使用教程

1. CSRFTester 简介 CSRFTester工具的测试原理大概是这样的,使用代理抓取我们在浏览器中访问过的所有的连接以及所有的表单等信息,通过在CSRFTester中修改相应的表单等信息,重新提交,相当于一次伪造客户端请求,如果修测试的请求成功被网站服务器接受,则说明存在CSRF漏洞,当然此款工具也可以被用来进行CSRF攻击。2. 安装环境Windows 7 x64 系统 java 163. CSRFTester 使用流程1)设置浏览器代理:127.0.0.1:8...

2021-04-23 17:42:28 5036 1

原创 基于web的攻击行为简介(一)

基于web的安全攻击防御调研说明:基于web的攻击方式有很多,此处记录了本人近期接触的DOS,DDOS及CSRF攻击进行介绍。目录基于web的安全攻击防御调研一、DOS攻击1. 简要描述2. 攻击及应对措施二、DDOS攻击1. 简要描述2. 攻击及应对措施三、CSRF攻击1. 简要描述2.攻击及应对措施一、DOS攻击1. 简要描述 DoS(Denial of Service,拒绝服务攻击),它的原理很简单,就是用我们手里的机器去给服务器发请求...

2021-04-23 17:17:44 442

原创 正交测试用例工具

正交测试工具调研一、ALLPairs使用教程1. 简单应用用一个最简单的例子组合测试,如果人工组合可能漏写或者多写,如果组合少的话人工不会出错,但是组合多的话容易出错,此工具可以节省不少时间,当然也不能太依赖工具,也不是总好用的。测试示例如下账户名 密码 按钮错误 超短 确定超长...

2021-04-16 10:28:20 1763

原创 Activiti引擎简介及接口部署

一、什么是Activiti引擎Activiti引擎构成Activiti Engine:作为最核心的模块,提供针对BPMN 2.0规范的解析、执行、创建、管理(任务、流程实例)、查询历史记录并根据结果生成报表。Activiti Modeler :是模型设计器,其并非由Activiti公司所开发,而是由业界认可的Signavio公司赠送的(Signavio e原本是收费的产品,现在被免费授权给Activiti用户使用)。适用于业务人员把需求转换为规范流程定义。Activiti Designer:

2021-03-01 11:00:30 730

原创 SVN文件路径映射

SVN文件映射在我们使用SVN管理代码版本时,如果需要多个目录下共享一个文件,可以借助svn的文件映射功能来实现文件共享。以下为使用svn进行文件共享的操作说明。1. 将需要进行共享的文件checkout到本地2. 进入需要创建共享目录的文件夹,右击设置svn属性3. 点击新建属性,选择external,点击new创建新的属性4. 在本地路径输入当前目录下的需要生成的文件夹,我们在这里输入 ,在URL中输入需要共享到目标位置的svn路径:5. 点击确定后...

2021-02-02 17:06:36 4465

原创 Node-Red 自定义启动操作说明

近期通过梳理node-red源码,整理出node-red自定义启动配置如下:1. 自定义方式启动node-red用法: node-red [-v] [-?] [--settings settings.js] [--userDir DIR][--port PORT] [--title TITLE] [--safe] [flows.json]node-red admin <command> [args] [-?] [--userDir DIR] [--json]Options:

2021-01-18 16:42:03 1384

原创 Node-Red创建自定义节点

一、如何修改工程为自定义路径Windows本地部署了Node-red后,一般来说其配置数据文件(一般是settings.js)和流文件(一般是flow_<hostname>.json)会默认放在用户目录的.node_red子目录中,即:C:\Users\Administrator\.node-red但是我们经常需要建立自己的工程目录(如C:\myproject),并把相关数据放在该目录中,那么就要做如下的事情:1)建立工程目录F:\program\nodejs\nodere.

2021-01-12 17:54:20 4950 2

原创 C++容器对比

类型 vector list deque Map Hash_map Set 简介 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。封装了...

2020-03-12 10:41:23 100

原创 将博客搬至CSDN

自2020.3.4日起,将本人博客迁移至CSDN,后续将在CSDN更新发布!

2020-03-04 11:45:00 51

原创 如何使用vs2013命令工具查看虚函数表

网上查了很多关于查看C++虚函数表的内容,整理后实现了虚函数表的查看:1)打开C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts路径下的VS开发人员命令提示;2)输入cd +工程的主函数CPP路径(建议建立工程在默认路径下):3)输入dir(用于读取文件):4)最后输

2020-03-04 11:37:38 960

原创 prepareGeometryChange()引发的崩溃

最近在处理了Qt绘图中的崩溃问题,问题出在了QGraphicsSceneFindItemBspTreeVisitor::visit()函数中,其原因是由于软件代码编写不规范及Qt图形视图框架的bug导致,先做如下总结。1. 场景系统在一定配置下,记录一段时间,执行初始化全部操作,软件崩溃,其崩溃堆栈信息如下:2. 分析通过堆栈信息,可分析到此处有可能出现野指针的非法操作,但是由于...

2019-03-25 11:37:44 2917 1

原创 访问者模式

一、简介1. 定义表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。2. 应用场景(1)对象结构比较稳定,但经常需要在此对象结构上定义新的操作。(2)希望在不修改原有类的前提下,实现对该对象内部的一些操作。3. 优点(1)可以通过增加具体访问者类实现新的访问操作,对修改封闭,符合开闭原则。(2)将不同的...

2019-03-24 22:33:00 75

原创 迭代器模式

一、简介1. 定义提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示。2. 应用场景1)访问一个聚合对象的内容而无需暴露它的内部表示;2)提供对聚合对象的多种遍历;3)为遍历不同的聚合结构提供一个统一的接口,即支持多态迭代。3. 优点1)简化了类的聚合接口;2)封装了对象的内部数据,降低耦合;3)应用广泛,现在很多的库都提供了迭代功能,不需要程序员再重复造轮子...

2019-02-16 13:31:00 83

原创 解释器模式

一、简介1. 定义 解释器模式(Interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。2. 应用场景本模式适用于处理运算式等字符串的解析操作。3. 优点提供灵活的表达式解析处理方式,通过封装的对外接口,调用者可以不再关心具体的表达式处理规则。4. 缺点使用递归编码,需要在实现过程中注意递归的返回条件。二、类图1. 设计模...

2019-01-30 20:48:00 72

原创 模板模式

一、简介  模板设计模式的设计思路比较简单,核心是将不变的逻辑放在基类中处理,在子类中使用虚函数实现变动的方法。它是开发人员使用很频繁的一种模式,往往在代码重构提取基类的过程中就会使用到这种设计模式的思路。1. 模板设计模式类图  如上图,抽象父类用于实现软件功能中的算法的框架,子类差异化的实现算法流程中的某个具体的细节。三、代码示例  在组装电脑的过程中,我们可...

2019-01-13 22:37:00 58

WinCC6.2完全安装流程记录

全程记录Wincc 安装流程,并逐一实现安装步骤。

2022-10-14

NEWs7300-400-wincc以太网通信

文档中步骤均在裸机上逐一实现记录。

2022-10-14

收藏的AD画板速成教材文档

郑总编写的Altium designer PCB画板速成教材

2022-10-14

SQL2012安装卸载操作记录笔记

sqlserver2012全程安装记录以及卸载流程文字+截图资料,并包含2008、2005的相关操作记录。

2022-10-14

亲测可用的PICT软件.rar

PICT(Pairwise Independent Combinatorial Testing,成对独立组合测试)是一个测试用例生成工具,它可以生成测试用例和测试配置,其理论基础是成对测试技术(Pairwise Testing)。

2021-04-12

can总线源代码及相关资料.rar

本资源包括can入门教程,CAN总线原理和应用系统设计,及can总线源码实例。教程主要面向 CAN 总线初学者的 CAN 入门书。对 CAN 是什么、CAN 的特征、标准规格下的位置分布等、CAN 的概要及 CAN 的协议进行了说明。

2020-04-14

Saleae逻辑分析仪教程及软件.rar

Saleae逻辑分析仪资源包,Saleae包含逻辑分析仪安装包,Saleae逻辑分析仪软件v1.1.15(附使用手册),Saleae逻辑分析仪应用手册。

2020-04-14

USB文件系统烧写工具

USB文件系统烧写工具, 简洁的文件系统烧写小工具。。。。。。。。。

2018-11-13

cmake安装包及源码

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。本文件中包含Windows与linux平台的安装包。

2018-11-08

mini2440原理图

mini2440原理图 ,ARM9 Mini2440核心板原理图,整理分享

2018-11-01

深度探索C++对象模型

深度探索C++对象模型,深入的讲解C++对象模型,适合具有一定C++编程经验的开发者阅读!

2018-11-01

QT5creator快速教程

QT5基础教程

2017-07-17

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

TA关注的人

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