自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GreenArrowMan-CSDN博客

在程序员的路上前进着。

  • 博客(151)
  • 资源 (48)
  • 收藏
  • 关注

原创 Windows API遍历桌面上所有文件

在这个示例中,通过调用`SHGetFolderPathW`函数来获取桌面文件夹的路径。然后使用`FindFirstFileW`和`FindNextFileW`遍历桌面上的所有文件和文件夹。我们只对文件感兴趣,所以在循环中排除了文件夹。最后,我们将每个图标的路径存储在一个向量中,并将其输出到控制台。要获取桌面上的图标,可以使用Windows API中的Shell API。请注意,此示例代码需要链接Shell32.lib库。

2023-07-25 15:56:22 864

原创 QT常见面试题,基础知识偏多

自定义控件:应该做过吧?能举几个例子吗?还有其他的吗?你觉得自定义控件的方法主要是哪些?答:从外观设计上:QSS、继承绘制函数重绘、继承QStyle相关类重绘、组合拼装等等从功能行为上:重写事件函数、添加或者修改信号和槽等等QSS:QSS平时使用的多吗?能举几个例...

2021-12-08 16:43:10 18035 2

原创 Console无界面程序如何使用SetTimer

在Windows开发中免不了一些场景中是无界面的程序。但是我们又需要使用Windows API中的定时器SetTimer来进行定时处理一些任务。我们都知道Windows是消息驱动的,那定时器SetTimer的超时也是通过消息来驱动的,Console进程主线程没有消息的循环分发,Windows是不会调用我们的超时回调函数的。这种情况下,我们需要如何处理呢?我们可以主动在当前线程中添加一个消息循环,来使当前线程中的消息分发下去,从而使定时器可以正常的运行。在Demo中我创建了一个定时

2021-12-08 16:30:12 310

原创 SetTimer如何修改间隔时钟uElapse

在进行Windows程序开发时,经常会用到Windows的API,SetTimer是Windows API中提供的定时器,在C++开发中使用起来还是比较方便的。这篇文章主要介绍下修改SetTimer的间隔时钟的方法:在SetTimer时给定时钟3s触发一次,如果我们现在想修改为间隔2s触发一次,该如何做呢?我用QT做了一个简单的例子,去实现了一个简单的demo,界面上有个按钮,点击按钮可以切换SetTimer的间隔时间。运行结果如下:主要思路是:调用SetTimer的时候会返回一个.

2021-12-07 15:27:40 500

原创 dll之间共享数据

工作中遇到这么一个情况,有个公共信息dll,给几个Application使用,但是里边的信息需要跨进程共享。查了下资料,发现可以使用以下方式实现:#pragma data_seg("flag_data")int app_count = 0;#pragma data_seg()#pragma comment(linker,"/SECTION:flag_data,RWS")data_seg:数据段。使用这种方式,不但可以多个进程间共享数据,还可以限制进程只启动一次,比起IPC还是比较方便的。

2021-11-30 11:15:44 846

原创 常见的UI界面框架或者库

https://www.cnblogs.com/liaocheng/p/9197573.html

2020-12-28 14:22:25 740

原创 Android JNI中使用了libOpenCL.so,依赖libGLES_mali.so,但是link时出错

我在JNI项目中使用到了OpenCL并行计算,对项目中的亿级别的for循环计算,进行优化。本身在PC上Debug时需要运行260s,在Android上需要运行13s的计算过程,在Android上使用OpenCL后,可以将计算耗时提升到20ms,提升了几百倍的速度,运行效率达到了可以让项目落地实施的程度。使用的libOpenCL.so是Android系统中自带的,一般在目录system/vendor/lib64下。使用OpenCL库,还需要一些其他的库,基本上都在上述目录下。如果没有,可以看.

2020-07-16 16:57:30 4155

原创 LeetCode Number 88. 合并两个有序数组

前言:从今天起,开始找时间刷题。以前没有做过leetcode上的题目,也没有针对面试和笔试进行过专门的训练,所以找工作比较吃亏。以后就尽量多刷点题,把算法和数据结构等知识捡起来。后期题目中的算法,我基本上都会先自己尽量实现一个,即使很复杂,然后再去看看别人的其他算法,参考学习。如果大家看到我实现的算法并没有那么合理以及高效率,请大家轻拍砖。---------------------------------------------------------------------------..

2020-07-12 10:08:54 243

原创 技术风险规避方法

本文只显示部分内容,详细内容请关注微信公众号:程序猿小哥基础编码1.并发控制,默认使用悲观锁,一锁二判三更新,乐观引入须谨慎。2.幂等拦截,幂等新老要兼容,字段约束需一致,异常场景防击穿。3.状态推进,流转设计要完整,状态推进凭指令,业务终态不可逆。4.......5.......6.......中间件使用1.消息使用, groupld 要唯一,重复投递须关注,事务回查防悬挂。2......3.......4.......5.......6. ......架构设.

2020-05-24 12:57:21 6185

原创 QT/C++复习要点

这是我前段时间(上半年)找工作时,着重复习的点,当然可能不是很全面,但是在面试时也覆盖了大部分,如果可以再练习下LeetCode上的习题就更好了,我就是吃了算法的亏。完整的文章发布在公众号,可以关注公众号查看完整文章,关注公众号,请扫描下面的二维码。“请扫码关注我,后续还有很多这些年保留的资源会慢慢放出来。”...

2019-10-30 23:14:36 565

原创 error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: struct std::_Wrap_alloc<class std::allocator

在win7+vs2017,Windows SDK版本号10.0.14393.0做开发时,使用std::vector的函数assign是,出现链接错误,解决方法,自己写for循环,进行赋值。

2018-01-22 16:16:21 3180

原创 UE4实现纹理不随物体缩放(WorldAlignedTexture)

UE4编辑器蓝图实现物体缩放,纹理不随着物体缩放:一般情况下,纹理会跟着物体的缩放而缩放:那么如果不想纹理跟着物体缩放而缩放,可以通过蓝图来实现:基本思路是让贴图在世界坐标中进行重叠,所以无论物体如何缩放,贴图都会保持与原来大小基本一致。效果如下:本文地址:http://blog.csdn.net/u011417605/article/details

2017-11-23 16:00:07 10384 1

原创 directxsdk 下载地址

https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=6812

2017-11-20 16:02:49 810

原创 UE4实现纹理缩放(将纹理坐标进行缩放)

UE4编辑器蓝图实现纹理的缩放,对于一些效果的实现有很重要的作用。比如,新加的纹理是这样,看起来块状很大,不是很好看。如果想要砖块小一些,那么应该怎么做呢?比如下图:1.如果是自己从Editor Content新导入的图片,导入后会生成Texture资源,将Texture资源拖到视口物体上,会生成Material资源。然后双击材质资源

2017-11-20 16:00:13 22743 1

原创 无法解析的外部符号 __imp__vsnprintf

使用VS2013升级到VS2017时,遇到此问题:xapobase.lib(xapobase.obj) : error LNK2019: 无法解析的外部符号 __imp__vsnprintf,该符号在函数 "long __cdecl StringVPrintfWorkerA(char *,unsigned __int64,unsigned __int64 *,char const *,char

2017-11-16 17:18:19 2544

原创 UE4 引用Windows自带的静态库和动态库

想在UE4 引擎源码模块中引用windows 系统自带的静态库和静态库,方法很简单。找到源码所在的模块的"*.Build.cs"文件,在对应的Platform分支下面:静态库:PublicAdditionalLibraries.Add("xxxx.lib");动态库:RuntimeDependencies.Add("xxxx.dll");即可。

2017-11-08 09:46:02 1512

原创 QT实现CSDN上传资源管理助手Demo之(5)功能总结

QT实现CSDN上传资源管理助手Demo之(5)功能总结此程序是针对CSDN资源管理设计的,功能没有完全实现:下载资源功能有些复杂,没有仔细研究;下载资源、专辑等页面没有进行抓取和解析,下面是已经实现的功能:登录界面:模拟登录网站,输入账号和密码可以登录成功CSDN网站主界面、获取用户信息:获取当前积分、等级、资源数等信息;获取上传的资源首页

2017-10-26 12:04:34 667

原创 QT实现CSDN上传资源管理助手Demo之(4)请求网络图片SVG并显示

QT实现CSDN上传资源管理助手Demo之(4)请求网络图片SVG并显示要显示SVG图片,并且显示网络图片,需要先请求图片数据,转为QPixmap,然后使用QLabel进行显示。首先请求网络图片数据,和请求网页数据差不多,并请数据转为QPixmap:QPixmap QtResourceAssistant::loadInternetImage(QString strUrl){ QEv

2017-10-25 12:03:56 527

原创 QT实现CSDN上传资源管理助手Demo之(3)请求上传资源页面并解析

QT实现CSDN上传资源管理助手Demo之(3)请求上传资源页面并解析请求自己上传的资源页面,只需要请求http://download.csdn.net/my/uploads/就可以了。在请求结果中解析自己的账户相关的信息,比如等级和分数。发起请求:void QtResourceAssistant::downloadInfoRequest(int Page){ connect(

2017-10-25 11:38:33 727

原创 QT实现CSDN上传资源管理助手Demo之(2)模拟登录CSDN网站

QT实现CSDN上传资源管理助手Demo之(2)模拟登录CSDN网站在登录页面抓包分析Http请求协议内容可以得到具体细节:可以得到请求的网址,请求的方法(POST或者Get)、协议内容、请求成功后的跳转路径、请求的附加参数,如下图所示:从附加的请求参数子串可以看到除了账号和密码外,还有三个字段:lt、execution、_eventId,其中_eventId是固定的,而前两个

2017-10-25 10:46:23 506

原创 QT实现CSDN上传资源管理助手Demo之(1)抓包分析HTTP协议

QT实现CSDN上传资源管理助手Demo之抓包分析HTTP协议使用客户端模拟登录网站和请求链接,都需要知道HTTP请求的协议内容,否则肯定是被拒绝的。而分析HTTP协议的详细内容,就需要抓包。常用的抓包工具HttpWatch、Fiddler、WireShark等,当然一些浏览器也是可以进行抓包分析的。:比如Google浏览器、搜狗浏览器等等。抓包的方法也很简单,在这里使用Google浏

2017-10-25 09:44:11 1296

原创 QT安装包的下载

1.可以去官网下载,官网地址:http://download.qt.io/。但是官网有可能有些人可能会打不开或者下载不下来。2.可以去“清华大学开源软件镜像站”下载,有很多开源软件的镜像,其中QT的下载地址是:https://mirrors.tuna.tsinghua.edu.cn/qt/

2017-09-28 11:45:48 4112

原创 Osg 实例中用到的资源

Osg有很多示例,有些示例中用到了一些资源,比如简单的模型等等。这些资源可以在这里进行下载:OpenSceneGraph-Data

2017-09-15 16:45:06 967

原创 UE4 显示帧率的几种姿势

在使用UE4 Editor或者UE4 Game时,有时候需要查看帧率,以及每帧耗时情况。在Editor中显示:键盘上 按下 ~可以看到有个输入框出现:在输入框输入 stat fps或者stat unit,出现帧率或者耗时:在Game中显示(1):启动Game.exe后,键盘按下 ~出现输入框,输入框中输入 stat fps或者stat unit,回车:在

2017-08-16 15:22:16 26141 1

原创 UE4.17 发布,更新内容传送门

UE4.17发布,新的功能:https://www.unrealengine.com/zh-CN/blog/unreal-engine-4-17-released

2017-08-11 17:53:46 2648

原创 UE4打包后运行exe黑屏

使用UE4创建场景,打包后为Windows平台下exe,直接运行exe黑屏,看不到任何东西,还以为资源丢失。但是在编译器里面,直接启动,却又可以显示。觉得很奇怪。查资料,看到有人说,可能是因为开始关卡地图没设置。在编译器菜单:编辑->项目设置->地图&模式,选择默认地图,重新打包,就可以。博客地址:http://blog.csdn.net/column/details/13

2017-06-19 17:59:33 14494 2

原创 C++ 导入导出

我们在开发时,很多时候会使用动态库或者静态库,给其他的程序调用。#ifdef xxx_EXPORTS#define xxx_API __declspec(dllexport)#else#define xxx_API __declspec(dllimport)#endif而且我们一般在库工程的vs->工程->右键属性->c++->预处理器:添加xxx_EXPORTS,这样的话就是

2017-05-13 10:38:29 1819 1

原创 UE4 加速Setup.bat

下载了UE4的源码后,运行Setup.bat时下载速度比较慢,可以通过开启多线程的方式下载,速度会快很多。从文件内容可以看出,实际上是运行的\UnrealEngine-release\Engine\Binaries\DotNET\GitDependencies.exe它的用法是:Usage: GitDependencies [options]O

2017-05-05 09:49:01 8313

原创 UE4深入学习

UE4 深入讲解,很多东西了解的都比较深,讲得也很详细。想学习UE4的可以去看看。因为博主禁止转载,所以就放个链接吧:https://zhuanlan.zhihu.com/insideue4

2017-05-04 18:24:27 1865

原创 osg节点拾取

使用Scribe特效实现白色轮廓,此类在osgFx模块里面。所有场景中的节点全部添加Scribe特效。通过继承GUIEventHandler来自定义鼠标对应动作时,需要进行何种操作。在事件处理器类中,实现左键时判断鼠标点击位置是否和节点相交,然后隐藏特效;右键时恢复特效。判断是否相交,使用computeIntersections来计算,这是osgViewer的函

2017-05-02 18:38:42 2244

原创 osg自定义场景物体和设置状态集

osg自定义场景物体,也就是模型,主要是通过设置顶点数据、顶点颜色数据、顶点索引集、法线数据集合等数据才能看到模型。自定义模型需要使用Geometry来接收设置的数据,Geometry类提供了接收上述各种数据的接口。如果想给状态集StateSet设置某些属性,可以通过接口setAttributeAndModes来设置:比如深度测试、模板测试、线宽等继承自StateAttribute的子类,

2017-04-19 18:54:34 1135

原创 osg控制节点的显示与否

使物体或者说Node隐藏方式有两种,一种是设置NodeMask,另外一种是使用osg的switch类来控制。两者的区别是前者只是看不到,数据还在场景中,隐藏了并不能影响渲染性能,不影响内存中的数据;后者是从内存中暂时移除,会对性能有所影响,需要显示时再加载进场景。回调的速度好像是每帧调用一次,这样程序运行起来,会看到球以很快的速度在闪。为了更方便的观察,我在回调中做了限

2017-04-19 10:44:32 1824

原创 osg隐藏物体或者Node(多个物体轮流显示)

对于OSG源码的下载、编译我就不说明了,网上的例子很多。使物体或者说Node隐藏方式有两种,一种是设置NodeMask,另外一种是使用osg的switch类来控制。两者的区别是前者只是看不到,数据还在场景中,隐藏了并不能影响渲染性能,不影响内存中的数据;后者是从内存中暂时移除,会对性能有所影响,需要显示时再加载进场景。这篇文章暂时说一下怎么使用NodeMask。se

2017-04-15 12:21:00 3129

转载 Modelling of glass surfaces(2)

3. Lighting ModelIn the previous section we considered the simplest (but at the same time correct) way of imposing cube texture on the object. Now I propose to deal with the object lighting.As

2017-04-14 16:51:44 1250 1

转载 Modelling of glass surfaces(1)

Step by step describes the process of modeling and rendering of smooth polished glass objects based on OpenGL.Contentintroduction 1. Glass. What are we going to model? 2. T

2017-04-14 16:37:37 1159 1

转载 虚幻4渲染系统结构解析

本文根据小米互娱 VR 技术专家 房燕良在 MDCC 2016 移动开发者大会上的演讲整理而成,PPT 下载地址:http://download.csdn.net/detail/sinat_14921509/9639244。小米互娱 VR 技术专家 房燕良房燕良,从 2001 年开始,自主研发 3 代游戏引擎,发布游戏超过 10 款。代表作品有《

2017-04-01 11:48:22 5144 1

原创 QComboBox中QAbstractItemView宽度设置

在开发时遇到需要将QComboBox显示Item的View宽度增加,使其宽于QComboBox本身,否则Item中的文本显示不全。设置方法有两种,一是使用styleSheet,而是直接访问QAbstractItemView设置。详细请参见代码:#pragma once#include class QComboBoxEx : public QComboBox{ Q_OB

2017-03-13 17:44:32 5008

原创 NVPath初步学习和了解

什么是NVPath渲染,是对OpenGL的扩展,有CUDA能力的NVIDIA GPU到GPU高速路径渲染。CUDA是:计算统一设备架构:是运算平台,也可以针对它进行编程,主要是用来解决复杂运算的。路径渲染:是一种公认的对于2D计算机图形分辨率无关的方法,特点是图形对象的Specification作为路径。NVPath和Direct2D、PDF、Flash等最大的区别是:NVpa

2016-12-24 18:13:14 1111

原创 Pango显示文字,并保存为图片

Pango是一个开放源代码的自由函数库,用于高质量地渲染国际化的文字。Pango可以使用不同的后端字体,并提供了跨平台支持。使用Pango显示文字,需要设置字体,因为需要使用字体去本地查找对应的字体文件,从而解析出正确的字型。下面的示例是显示中文,设置字体为黑体,另外设置字体大小、显示位置等操作。文字显示后保存到图片,并使用QT显示出来。PangoFontDescripti

2016-12-08 14:49:55 4607 2

原创 Pango+Qt 列举windows系统字体

可以显示Windows上所安装的所有字体的名称。使用Qt显示数量和名称。需要依赖Pango、Cairo、glib三个库,获取三个库,获取可以参见我的其他博客。需要注意的是,编译Pango时,需要设置环境变量:并且需要在cairo.h中添加#define HAVE_CAIRO_WIN32才可以正常使用。显示效果:测试源码:#ifndef QTPANGO

2016-12-06 17:47:01 1444

QT QLabel右跑马显示文字

QT QLabel右跑马显示文字

2016-04-21

Qt QLabel 左跑马显示文字.zip

Qt QLabel 左跑马显示文字.zip Qt QLabel 左跑马显示文字.zip Qt QLabel 左跑马显示文字.zip

2016-04-21

XAudio2学习之流化音频文件.zip

XAudio2学习之流化音频文件.zip

2016-04-07

XAudio2BasicStream.zip

XAudio2BasicStream.zip

2016-04-07

XAudio2学习之循环播放音频数据.zip

XAudio2学习之循环播放音频数据.zip XAudio2学习之循环播放音频数据.zip XAudio2学习之循环播放音频数据.zip

2016-04-05

XAudio2学习之多次播放一个音效.zip

XAudio2学习之多次播放一个音效.zip XAudio2学习之多次播放一个音效.zip XAudio2学习之多次播放一个音效.zip

2016-04-05

XAudio2学习之混音.zip

XAudio2学习之混音.zip

2016-04-03

XAudio2学习之采样率转换.zip

XAudio2学习之采样率转换.zip

2016-03-27

XAudio2学习之IXAudio2VoiceCallback

XAudio2学习之IXAudio2VoiceCallback

2016-03-24

Qt学习之QListWidget添加item

Qt学习之QListWidget添加item

2016-03-19

Qt学习之QPushButton添加右键菜单2.zip

Qt学习之QPushButton添加右键菜单2.zip

2016-03-19

Qt学习之QPushButton添加右键菜单

Qt学习之QPushButton添加右键菜单

2016-03-19

Qt学习之QPushButton右键菜单

Qt学习之QPushButton右键菜单

2016-03-18

Qt学习之QSplitter

Qt学习之QSplitter 分割窗口

2016-03-17

XAudio2学习六之播放WAV文件

XAudio2学习六之播放WAV文件

2016-03-04

CWaveFile(SDKwavefile)

CWaveFile(SDKwavefile)用于解析wave文件,波形文件

2016-03-04

CWaveFile加载WAV文件到内存

CWaveFile加载WAV文件到内存

2016-03-03

XAudio2获取声音输出设备信息

XAudio2获取声音输出设备信息

2016-03-03

CWaveFile.zip

CWaveFile.zip 用来解析wave文件的类。

2016-02-29

SDL2-2.0.3库

sdl库和头文件

2015-11-07

OpenAL 1.1 SDK

OpenAL 1.1 SDK alut The OpenAL Utility Toolkit (ALUT)

2015-11-05

QtTestSetTimer.zip

SetTimer如何修改间隔时钟uElapse

2021-12-07

osg节点选择

osg所有节点外部多显示一层白色轮廓,选中此节点的话,则轮廓不再显示

2017-05-02

osg节点轮流显示,隐藏和显示

osg节点轮流显示,隐藏和显示 osg节点轮流显示,隐藏和显示 osg节点轮流显示,隐藏和显示

2017-04-15

Glass_Rendering.zip 玻璃特效

glsl实现的玻璃效果,非常好。在外国网站找的。

2017-04-14

zlib-1.2.8.zip

zlib源码,VS2013工程 win7

2016-11-17

fontconfig-master

fontconfig VS2013 Solution,fontconfig lib,fontconfig sourcecode fontconfig-master

2016-11-17

QSideBar Qt侧边栏.zip

QSideBar Qt侧边栏.zip

2016-10-23

Qt之UDP通讯

可以局域网通讯也可以本机通讯。 Qt之UDP通讯

2016-09-12

Qt圆角功能和状态组合按钮,可以显示颜色或者图片

Qt圆角功能和状态组合按钮,可以显示颜色或者图片

2016-06-17

Qt 获取Windows内存信息

Qt 获取Windows内存信息

2016-06-02

Qt 获取硬盘可用字节.zip

Qt 获取硬盘可用字节.zip

2016-05-30

Qt实现IP输入框.zip

Qt实现IP输入框.zip

2016-05-09

Qt 实现系统托盘,托盘菜单,托盘消息.zip

Qt 实现系统托盘,托盘菜单,托盘消息.zip

2016-05-05

Qt Drag Drop之拖放.zip

Qt Drag Drop之拖放.zip

2016-05-04

QPushButton下拉式二级菜单.zip

QPushButton下拉式二级菜单.zip

2016-04-22

QPushButton下拉式菜单.zip

QPushButton下拉式菜单.zip

2016-04-22

Qt QLabel滚动字幕.zip

Qt QLabel滚动字幕.zip

2016-04-21

XAudio2学习之MonitorAPO.zip

MonitorAPO 通过一种锁无关由应用程序初始化的通讯通道的方式来将音频数据传递给主线程。

2016-04-20

XAudio2学习之SimpleAPO.zip

XAudio2学习之SimpleAPO.zip

2016-04-20

空空如也

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

TA关注的人

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