<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lsfreeing的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lsfreeing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lsfreeing]]></copyright><item><title><![CDATA[VMware卸载后再安装提示无法打开注册表项 UNKNOWN\Components\…解决办法]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/123431384</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/123431384</guid><author>lsfreeing</author><pubDate>Fri, 11 Mar 2022 18:35:44 +0800</pubDate><description><![CDATA[问题背景：

安装完不同版本的虚拟机后卸载再安装，提示注册表写稿没有权限，于是挨个改了下报的注册表项。但改了一个又一个，很是麻烦。

解决方法：

直接修改注册表权限，一步到位。



1.使用组合键 Win+R 打开"运行"对话框，输入 regedit 并回车（需管理员权限）

2.找到这个键值 ：HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData

3.右击"UserData" 选择"权限(P).]]></description><category></category></item><item><title><![CDATA[开源协议相关]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/123109792</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/123109792</guid><author>lsfreeing</author><pubDate>Thu, 24 Feb 2022 13:37:48 +0800</pubDate><description><![CDATA[根据使用场景一个简单的识别规则




]]></description><category></category></item><item><title><![CDATA[QtCreator使用NVIDIA显卡下假死问题]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/123041036</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/123041036</guid><author>lsfreeing</author><pubDate>Mon, 21 Feb 2022 09:56:55 +0800</pubDate><description><![CDATA[现像：

打开项目或编辑等出现假死情况



解决方法：

NVIDIA控制面板-&gt;3D设置-&gt;管理3D设置-&gt;程序设置，将Qt Creator单独强制设置为集成显卡。不影响全局设置，其他app仍能使用高性能显卡。






...]]></description><category></category></item><item><title><![CDATA[ubuntu18.04安装qt启动qtcreator报错qt.qpa.plugin:Could not load the Qt platform plugin “xcb“]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/123001128</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/123001128</guid><author>lsfreeing</author><pubDate>Fri, 18 Feb 2022 13:23:58 +0800</pubDate><description><![CDATA[现像：


qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plu]]></description><category></category></item><item><title><![CDATA[Qt 元对象系统--Moc文件解析]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/121684268</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/121684268</guid><author>lsfreeing</author><pubDate>Thu, 02 Dec 2021 19:18:11 +0800</pubDate><description><![CDATA[几篇文章 ，供参考

​​​​​​详细分析Qt中moc文件

2.MOC文件解读（上）——MOC文件中的数据_

3.MOC文件解读（下）——MOC文件中的函数


]]></description><category></category></item><item><title><![CDATA[Q_FOREACH  foreach 使用注意事项]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/117067373</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/117067373</guid><author>lsfreeing</author><pubDate>Thu, 20 May 2021 11:02:46 +0800</pubDate><description><![CDATA[原文地址：https://www.kdab.com/goodbye-q_foreach/

Q_FOREACH（有时也会被称为foreach）将在不久的将来被废除，有可能是在 Qt 5.9。从 Qt 5.7 开始，你可以使用QT_NO_FOREACH宏定义来确保代码中没有依赖Q_FOREACH。【译注：这里应该是说，在 .pro 文件中添加DEFINES += QT_NO_FOREACH定义】

你可能想知道为什么这么大惊小怪。为什么针对 Qt 使用 C++11 的范围for循环替换掉Q_FOREACH会提]]></description><category></category></item><item><title><![CDATA[Qt QML文档部分关键字]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/116856380</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/116856380</guid><author>lsfreeing</author><pubDate>Sat, 15 May 2021 17:21:19 +0800</pubDate><description><![CDATA[keyword: QML文档，文档关键字



使用Qt，最权威的资料当数qt官方帮助文档了，相对来说是“最一手”的资料。但有时想要概览某个模块又记不清对应模块的索引关键字，记录下来用于备查。



------------------------------------------------4

QML语法 概览一下整个QML体系文档的一些内容

The QML Reference



import模块导入语句

Import Statements



导入QML文档目录

Importin...]]></description><category></category></item><item><title><![CDATA[Visual Studio番茄助手 Visual Assist X  for VS2015-2019]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/116653454</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/116653454</guid><author>lsfreeing</author><pubDate>Tue, 11 May 2021 14:25:36 +0800</pubDate><description><![CDATA[这个工具就不多说了，Visual Studio插件。在升级VS2019且打了几个补丁之后，原来安装的不是被Win10windows defender报病毒，就是注册失效了

在网上找了许久，找到几个稳定使用的版本。有需求的可以拿去。



Visual Assist X 2382

https://download.youkuaiyun.com/download/lsfreeing/18581699



Visual Assist X 10.9.2393

https://download.youkuaiyun.com/...]]></description><category></category></item><item><title><![CDATA[QML debugging is enabled.Only use this in a safe environment]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/116599230</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/116599230</guid><author>lsfreeing</author><pubDate>Mon, 10 May 2021 16:23:41 +0800</pubDate><description><![CDATA[为什么会有这个警告？

由于在Qt5以上版本默认开启QML调试器造成的。用于告知用户，这将打开一个到运行QML的Javascript解释器的端口，以便从中获得调试输出。显然，这会造成一个安全漏洞，所以在不安全的地方使用时应该关闭它(在释放运行时自动关闭)。这个警告是为了提醒你这一点。
注意

Qt4默认不开启QML调试器，而Qt5版本以上默认开启。
	如果您不使用QML，无论如何都要关闭它。
	由于开启QML调试需要在TCP端口打开套接字，这存在安全风险。Internet上的任何人都可以连接到正在调试...]]></description><category></category></item><item><title><![CDATA[UTF-8编码规则（转）]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/114698004</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/114698004</guid><author>lsfreeing</author><pubDate>Fri, 12 Mar 2021 15:45:27 +0800</pubDate><description><![CDATA[被编码问题绕了下，找了几篇文章看了下，基本挼清楚了



参考链接：

https://zhuanlan.zhihu.com/p/27827951刨根究底字符编码之十四——UTF-16究竟是怎么编码的

https://baike.baidu.com/item/BOM/2790364?fr=aladdin BOM（Byte Order Mark）字节顺序标记

https://blog.youkuaiyun.com/qq_38405680/article/details/83714205





UTF...]]></description><category></category></item><item><title><![CDATA[C++迭代器适配器]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/114436862</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/114436862</guid><author>lsfreeing</author><pubDate>Sat, 06 Mar 2021 12:40:14 +0800</pubDate><description><![CDATA[定义

迭代器适配器是一个类模版，为标准迭代器提供一些特殊行为，从迭代器模版派生。适配器类模版定义了三种不同的迭代器：反向迭代器（reverse iterators），插入迭代器(insert iterators)，移动迭代器（move iterators）。



1.反向迭代器

顾名思义，工作机制和标准迭代器相反，容器成员函数为rbegin()和rend，分别返回指向最后一个元素的反向迭代器和指向最开始元素的前一个位置的反向迭代器。







2.插入迭代器

一般迭代器只能访问或改变序列中存..]]></description><category></category></item><item><title><![CDATA[GetDriveType将移动硬盘识别为DRIVE_FIXED 而不是DRIVE_REMOVABLE移动设备的问题]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/112220748</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/112220748</guid><author>lsfreeing</author><pubDate>Tue, 05 Jan 2021 11:34:34 +0800</pubDate><description><![CDATA[问题描述：

最一开始检测USB移动存储设备是用的GetDriveType函数，后面发现接上移动硬盘并没有识别为可移动usb存储设备



问题原因：

是根据分区里面的信息来判别是移动硬盘或是u盘。这个函数查询并不准确



解决方法：

直接打开磁盘驱动器句柄。发送IOPC消息查询

参考链接：

https://stackoverflow.com/questions/3390865/differentiating-between-usb-flash-drive-and-usb-hard-drive..]]></description><category></category></item><item><title><![CDATA[STL六大组件]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/109444780</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/109444780</guid><author>lsfreeing</author><pubDate>Mon, 02 Nov 2020 11:04:58 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Visual Studio各版本间的二进制兼容性]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/108063510</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/108063510</guid><author>lsfreeing</author><pubDate>Mon, 17 Aug 2020 20:22:59 +0800</pubDate><description><![CDATA[VS2013和更早的版本不保证各版本之间的二进制兼容性。

在VS2015-2019中做了改进。任何这些版本编译器编译的运行库和应用程序都是二进制兼容的。



参考链接:

https://docs.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=vs-2019




...]]></description><category></category></item><item><title><![CDATA[sqlite3中的一些PRAGMA语句]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/107411475</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/107411475</guid><author>lsfreeing</author><pubDate>Fri, 17 Jul 2020 16:36:55 +0800</pubDate><description><![CDATA[1.问题原由

需要修改sqlite的一些配置和数据库操作，eg.查询THREADSAFE等编译选项。但是用的qt封装的QSqlDatabase类。无法执行sqlite源码中的一些原生函数。后面发现可以通过执行PRAGMA的一些语句来达到目的。



2.参考资料和使用方法

最一手的资料当然是官方的资料



https://www.sqlite.org/pragma.html



3.使用示例，以Qt为例


  QSqlQuery q(QSqlDatabase::database("db"...]]></description><category></category></item><item><title><![CDATA[sqlite多线程访问]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/107407071</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/107407071</guid><author>lsfreeing</author><pubDate>Fri, 17 Jul 2020 14:15:30 +0800</pubDate><description><![CDATA[1.SQLite支持如下三种线程模型

单线程模型这种模型下，所有互斥锁都被禁用，同一时间只能由一个线程访问。（SQLITE_THREADSAFE = 0）
	多线程模型这种模型下，一个连接在同一时间内只有一个线程使用就是安全的。（SQLITE_THREADSAFE = 2）
	串行模型 开启所有锁，可以随意访问。 （SQLITE_THREADSAFE=1）


2.可以在编译期设定编译参数值来确定使用哪种模式，也可以在运行时调用函数sqlite3_config(SQLITE_CONFIG_MULT...]]></description><category></category></item><item><title><![CDATA[visual studio卸载工具]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/106786009</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/106786009</guid><author>lsfreeing</author><pubDate>Tue, 16 Jun 2020 14:05:53 +0800</pubDate><description><![CDATA[微软官方仓库中提供的工具

https://github.com/Microsoft/VisualStudioUninstaller/releases
]]></description><category></category></item><item><title><![CDATA[Windbg/x64dbg/OllyDbg调试器简介]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/106004689</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/106004689</guid><author>lsfreeing</author><pubDate>Fri, 08 May 2020 19:42:01 +0800</pubDate><description><![CDATA[原文链接：

https://blog.youkuaiyun.com/libaineu2004/article/details/104081676



一、Windbg

Windbg是微软开发的一套调试器中的组件。WinDBG属于内核级别调试器，不仅可以用来调试应用程序，也可以调试内核级的代码，如驱动程序。Windbg由于其丰富的命令和对Windows的原生支持还有其易用性，是其他其他调试器望尘莫及的。如果安装了Windows SDK，一般会带有windbg.exe，gflags.exe和appverif.exe.]]></description><category></category></item><item><title><![CDATA[Windows下Qt检测移动U盘及动态插拔]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/106004381</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/106004381</guid><author>lsfreeing</author><pubDate>Fri, 08 May 2020 19:30:32 +0800</pubDate><description><![CDATA[windows下提供了很便捷的方式查找和动态监测U盘的插拔。windows sdk里面提供了对应api。从所有的事件中处理对应的事件即可。

Device Management Events

1.U盘已插入电脑的情况下。使用QDir获取所有驱动，再通过驱动类型判断和查找移动U盘。正面为关键代码段


    QFileInfoList infoList = QDir::drives();
    foreach(const QFileInfo&amp; info, infoList)
    {
    ]]></description><category></category></item><item><title><![CDATA[Pycharm常用快捷键]]></title><link>https://blog.youkuaiyun.com/lsfreeing/article/details/105784717</link><guid>https://blog.youkuaiyun.com/lsfreeing/article/details/105784717</guid><author>lsfreeing</author><pubDate>Mon, 27 Apr 2020 10:18:42 +0800</pubDate><description><![CDATA[不同IDE快捷键不同，记录下Pycharm。供参考

常用快捷键

快捷键
			功能
		Ctrl + Q
			快速查看文档
		Ctrl + F1
			显示错误描述或警告信息
		Ctrl + /
			行注释（可选中多行）
		Ctrl + Alt + L
			代码格式化
		Ctrl + Alt + O
			自动导入
		Ctrl + Alt + I
			自动缩进
		Tab /...]]></description><category></category></item></channel></rss>