- 博客(64)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 Linux系统中qfile调用seek无法更新指定位置文件内容
qfile调用seek无法更新指定位置文件内容,但是在Windows下不存在此问题
2024-06-05 18:01:50 243
原创 UE4 架构初识(一)
UE4是最顶尖的引擎之一,性能和效果都非常出众,编辑器工作流也非常的出色,更难得宝贵的是完全的开源让我们有机会去从中吸取营养,学习世界上第一流游戏引擎的架构思想。
2023-04-25 15:43:38 1727
原创 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 676 1
原创 C++中多继承的函数重载
1. 多继承的内存模型:如果AB两个父类中有同名函数,自身类没有重载该函数,则自身类的实例对象不能调用该函数,因为不确定该调用哪个父类的函数;如果自身类实现了该函数,则虚表A、续表B中的父类函数指针会被替换为自身类实现的函数的指针、(1)派生类的虚函数存储在第一个基类的虚函数表中,如下图所示:如果存在子类覆盖父类虚函数的情况,则虚函数表的情况如下所示: 只要类中有虚函数便会产生虚函数表,如果基虚函数被子类覆盖,则子类虚函数表中的函数指针指向子类的相应函数,未被覆盖时,则还...
2022-04-06 11:08:31 1284
原创 std::string 作为传参时调用接口数据异常问题定位
今天在调试编译出的动态库时,发现接口传参结构体中,std::string 类型的参数变成了null值,从文件编码格式到接口调用各个方面排查,均为修复,在此记录定位方法:1. 在动态库中新增值传递接口与const string& 接口,对比传入的数据,发现有未经处理的异常: Microsoft C++ 异常: std::bad_alloc,从而怀疑是库的版本问题 最终定位为 debug程序加载了relwithdebuginfo版本库,导致出现数据异常。在此做一记录。...
2022-03-10 21:06:35 934
原创 解决Qt中文乱码的方法
在代码开发中,尝尝遇到一些显示中文乱码的问题,在此记录自己用到的处理方式:1. 使用 QStringLiteral处理中文字符串,并更改文件的编码格式为utf-82. 使用如下预编译代码:#pragma execution_character_set("utf-8")...
2022-01-27 11:42:41 939 2
原创 问题处理记录--动态库不匹配导致的0xc000007b启动异常
在将Win10+VS2015环境下编译的程序打包发给其他环境进行测试验证时,发现在Windows7下总是出现上面这个错误,按照常规排查方案进行处理,均无效果,最后通过逐步对比dll文件,发现依赖库中有多个vs运行库文件不匹配导致启动异常,
2022-01-05 15:32:51 607
原创 问题处理记录--VS2015+QT工程编译文件启动提示0xc000007b无法启动
这两天在打包编译生成的文件时,将exe依赖的动态库一起打包在一个文件中后,出现了问题:在本地开发环境启动正常,在其他无开发环境的系统启动报错0xc000007b,根据自己的理解,结合网上查到的内容,从以下几个方面进行处理:1. 将已知的exe依赖dll拷贝到执行环境目录;(也可在其他指定目录,通过cmd启动时指定环境变量)2. 通过dependency 分析遗漏的dll文件;3. 添加msvc的运行库4. 通过vs生成后期事件,将qt的调试库直接拷贝到输出路径(也可直接在对应的qt.
2021-12-31 17:06:58 1119
原创 查看编译生成的库的编译版本及导出函数
最近在工作中需要检查自己使用到的库的版本与导出函数,可通过VS的命令行工具进行查看,在此做一记录:1. 查看版本dumpbin /headers test.dll即可查看版本:2. 查看导出函数dumpbin /exports test.dll...
2021-12-13 19:46:18 583
原创 Fast-RTPS问题: fastrtpsgen 生成文件执行错误
控制套出现错误提示:fastrtpsgen JointTrajectory.idl 调用错误,出现找不不到c1.exe,解决方案:是需要从vs的命令提示符窗口进行调用
2021-11-29 20:53:48 495
原创 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 3430 1
原创 Visual Stidio 2015 更新3失败解决方案
最近在编译工程的时候,提示以下错误:fatal error C1900: “P1”(第“20150812”版)和“P2”(第“20130802”版)之间 Il 在网上查阅相关资料后,发现问题出在vs编译环境中,需要安装update3,但是根据大部分的资料,不论是直接在扩展工具中安装,还是去官网下载update3 ,提示如下的安装失败: 折腾了大半天,怀疑是是微软下载链接存在异常,导致网络...
2021-10-13 10:59:03 8628 4
原创 OSG架构初识
本文参考<<osg最长一帧>>, <<OpenSceneGraph三维渲染引擎编程指南>>, <<OpenSceneGraph三维渲染引擎设计与实践>> 整理而来, 感谢大牛们的精彩著作. 相比Ogre来说, Ogre代码很规范, 只是入门资料较少,如果能在学习之前能总体上对架构有个印象就好了, 免得盲人摸象啊, 不过,还好有OSG.场景相关: Node, Geode, Group, Transform, LOD,...
2021-09-23 09:49:51 2734
原创 Linux进程资源监控命令
一、进程实时监控pidstat工具1、pidstat 概述pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。2、pidstat 安装pidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大多数...
2021-06-02 16:36:41 2601
原创 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 1189
原创 Nodejs实现CSRF防护
Nodejs实现CSRF防护一、CSRF攻击简介 CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User...
2021-04-25 18:04:40 1428
原创 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 5864 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 461
原创 正交测试用例工具
正交测试工具调研一、ALLPairs使用教程1. 简单应用用一个最简单的例子组合测试,如果人工组合可能漏写或者多写,如果组合少的话人工不会出错,但是组合多的话容易出错,此工具可以节省不少时间,当然也不能太依赖工具,也不是总好用的。测试示例如下账户名 密码 按钮错误 超短 确定超长...
2021-04-16 10:28:20 1970
原创 Activiti引擎简介及接口部署
一、什么是Activiti引擎Activiti引擎构成Activiti Engine:作为最核心的模块,提供针对BPMN 2.0规范的解析、执行、创建、管理(任务、流程实例)、查询历史记录并根据结果生成报表。Activiti Modeler :是模型设计器,其并非由Activiti公司所开发,而是由业界认可的Signavio公司赠送的(Signavio e原本是收费的产品,现在被免费授权给Activiti用户使用)。适用于业务人员把需求转换为规范流程定义。Activiti Designer:
2021-03-01 11:00:30 828
原创 SVN文件路径映射
SVN文件映射在我们使用SVN管理代码版本时,如果需要多个目录下共享一个文件,可以借助svn的文件映射功能来实现文件共享。以下为使用svn进行文件共享的操作说明。1. 将需要进行共享的文件checkout到本地2. 进入需要创建共享目录的文件夹,右击设置svn属性3. 点击新建属性,选择external,点击new创建新的属性4. 在本地路径输入当前目录下的需要生成的文件夹,我们在这里输入 ,在URL中输入需要共享到目标位置的svn路径:5. 点击确定后...
2021-02-02 17:06:36 5022
原创 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 1447
原创 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 5154 2
原创 C++容器对比
类型 vector list deque Map Hash_map Set 简介 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。封装了...
2020-03-12 10:41:23 118
原创 如何使用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 998
原创 prepareGeometryChange()引发的崩溃
最近在处理了Qt绘图中的崩溃问题,问题出在了QGraphicsSceneFindItemBspTreeVisitor::visit()函数中,其原因是由于软件代码编写不规范及Qt图形视图框架的bug导致,先做如下总结。1. 场景系统在一定配置下,记录一段时间,执行初始化全部操作,软件崩溃,其崩溃堆栈信息如下:2. 分析通过堆栈信息,可分析到此处有可能出现野指针的非法操作,但是由于...
2019-03-25 11:37:44 3059 1
原创 访问者模式
一、简介1. 定义表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。2. 应用场景(1)对象结构比较稳定,但经常需要在此对象结构上定义新的操作。(2)希望在不修改原有类的前提下,实现对该对象内部的一些操作。3. 优点(1)可以通过增加具体访问者类实现新的访问操作,对修改封闭,符合开闭原则。(2)将不同的...
2019-03-24 22:33:00 84
原创 迭代器模式
一、简介1. 定义提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示。2. 应用场景1)访问一个聚合对象的内容而无需暴露它的内部表示;2)提供对聚合对象的多种遍历;3)为遍历不同的聚合结构提供一个统一的接口,即支持多态迭代。3. 优点1)简化了类的聚合接口;2)封装了对象的内部数据,降低耦合;3)应用广泛,现在很多的库都提供了迭代功能,不需要程序员再重复造轮子...
2019-02-16 13:31:00 92
亲测可用的PICT软件.rar
2021-04-12
can总线源代码及相关资料.rar
2020-04-14
Saleae逻辑分析仪教程及软件.rar
2020-04-14
QGLWidget引起其他widget控件更新异常
2022-04-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人