<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Hector2015的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Hector2015</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Hector2015]]></copyright><item><title><![CDATA[QML中文文档]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/108328690</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/108328690</guid><author>Hector2015</author><pubDate>Mon, 31 Aug 2020 20:21:45 +0800</pubDate><description><![CDATA[https://qmldoc.cn/
]]></description><category></category></item><item><title><![CDATA[C++全局静态变量初始化顺序]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/108109976</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/108109976</guid><author>Hector2015</author><pubDate>Wed, 19 Aug 2020 20:37:22 +0800</pubDate><description><![CDATA[Qt程序中使用全局变量，此变量为一个自定义类，称呼为类A，类A构造函数中创建了一个继承了QObject的子类，称呼为类B。类B使用了信号和槽，此时运行程序出现崩溃，经排查VS工程文件中先编译类A的文件，后编译类B的moc文件，程序运行时先初始化类A的全局变量，此时类Bmoc的元对象静态成员未初始化，类似于moc_xxx.cpp文件中的static const qt_meta_stringdata_xxx_t qt_meta_stringdata_xxx = {...}还未初始化，此时使用信号和槽会导致空指针]]></description><category></category></item><item><title><![CDATA[C语言编译过程详解]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/106927913</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/106927913</guid><author>Hector2015</author><pubDate>Tue, 23 Jun 2020 17:19:18 +0800</pubDate><description><![CDATA[原文链接https://www.cnblogs.com/CarpenterLee/p/5994681.html

前言

C语言程序从源代码到二进制行程序都经历了那些过程？本文以Linux下C语言的编译过程为例，讲解C语言程序的编译过程。

编写hello world C程序：


// hello.c
#include &lt;stdio.h&gt;
int main(){
    printf("hello world!\n");
}



编译过程只需：


$ gcc hello.c # 编译
$ ]]></description><category></category></item><item><title><![CDATA[Windows 内存泄漏检测工具——LeakDiag]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/106818376</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/106818376</guid><author>Hector2015</author><pubDate>Wed, 17 Jun 2020 21:05:27 +0800</pubDate><description><![CDATA[LeakDiag是微软一款检测memory leak的工具，使用比较简单

首先去下载一个ftp://ftp.microsoft.com/PSS/Tools/Developer%20Support%20Tools/LeakDiag/

安装好，默认是在c:\leakdiag
对于内存泄漏的检查，本质上在于定位内存泄漏。这种定位包含两层含义：

一是定位模块，即哪个模块出了问题。

二是定位代码，即找到造成内存泄漏的代码。

对此，在分工合作完成一个系统的背景下，我们检查内存泄漏的工作流程就应该是：第一，定位]]></description><category></category></item><item><title><![CDATA[QRadioButton隐藏单选按钮]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/104713924</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/104713924</guid><author>Hector2015</author><pubDate>Sat, 07 Mar 2020 14:02:10 +0800</pubDate><description><![CDATA[有时候我们需要使用一组按钮进行互斥的操作，QT提供了合适的控件QRadioButton，但是默认的都会显示单选按钮，而某些场景下我们不希望显示这个单选按钮，此时可以通过修改qss样式进行单选按钮的隐藏QRadioButton::indicator{width: 0px;}
...]]></description><category></category></item><item><title><![CDATA[VS2017+Qt5.12.2打开VS2005+Qt4.8.5工程]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/104279743</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/104279743</guid><author>Hector2015</author><pubDate>Wed, 12 Feb 2020 15:57:06 +0800</pubDate><description><![CDATA[VS2017+Qt5.12.2打开VS2005+Qt4.8.5工程遇见的问题记录如下：

1、首先用vs2017打开vs2005工程会提示升级工程文件xxx.sln;

2、工程升级之后编译可能会出现vs系统文件找不到的情况，此情况更新下vs的工具包即可，工具-获取工具和功能-勾选使用C++的桌面开发-勾选Windows 8.1 SDK 和 UCRT SDK，详情见下图



3、工具包更新后，编...]]></description><category></category></item><item><title><![CDATA[从C++到Qt编译]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/104141584</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/104141584</guid><author>Hector2015</author><pubDate>Sun, 02 Feb 2020 09:41:26 +0800</pubDate><description><![CDATA[Qt 是 C++ 的库，Qt 在 ansi C++ 的基础上进行了一点扩展。

但国内似乎比较浮躁，学Qt的很多连基本的C++如何编译似乎都不太清楚。本文舍弃IDE或qmake、cmake等工具的束缚，尝试通过几个例子，一步一步从标准 C++ 的编译过渡到 Qt 的编译。

本文涉及的都是最基本的东西，或许可以说，只要你用C++ Qt，不管是通过哪种工具(qmake、cmake、boost.bui...]]></description><category></category></item><item><title><![CDATA[Qt引入图标字体包iconfont]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/103411355</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/103411355</guid><author>Hector2015</author><pubDate>Thu, 05 Dec 2019 20:11:33 +0800</pubDate><description><![CDATA[客户端总是有各种换肤需求，为实现快速换肤，可引入图标字体包

1、使用阿里巴巴矢量图标库，网址https://www.iconfont.cn，切一张默认颜色的svg图标上传到我的项目，图标会生成一个唯一的unicode码0xe001，下载到本地并解压，得到iconfont.ttf字体包；

2、Qt中引入字体包并通过css设置样式，代码如下：

//引入图形字体
int fontId = QFon...]]></description><category></category></item><item><title><![CDATA[QTimer定时器启动不设置间隔时间]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/103411153</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/103411153</guid><author>Hector2015</author><pubDate>Thu, 05 Dec 2019 19:50:49 +0800</pubDate><description><![CDATA[最近发现客户端启动后不做任何操作，程序CPU占比已经达到20%以上，经过排查发现又如下代码导致：

QTimer* pTimer = new QTimer();

connect(pTimer,SIGNAL(timeout()), this, SLOT(OnTimeout));

pTimter-&gt;start();

定时器启动时不设置间隔时间，执行定时任务会耗费大量的CPU使用率，设置时间...]]></description><category></category></item><item><title><![CDATA[Qt example]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/102455579</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/102455579</guid><author>Hector2015</author><pubDate>Wed, 09 Oct 2019 10:34:48 +0800</pubDate><description><![CDATA[Qt版本更新时一些旧的方法可能不再适用，可以参考官网的例子使用新方法实现，记录下其中一个例子的链接，地址如下

https://doc.qt.io/qt-5.12/qtwebengine-webenginewidgets-simplebrowser-example.html
...]]></description><category></category></item><item><title><![CDATA[Qt5.12.x版本调试源码]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/101025713</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/101025713</guid><author>Hector2015</author><pubDate>Thu, 19 Sep 2019 16:02:37 +0800</pubDate><description><![CDATA[Qt5.12之后的版本pdb文件不再和安装程序放在同一个目录，https://download.qt.io/archive/qt/5.12/5.12.2/此路径无pdb文件。

window下调试需要在下面的目录中取得pdb

https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_5122/qt.qt5.5122...]]></description><category></category></item><item><title><![CDATA[32位程序运行内存1G以上容易卡死或崩溃问题]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/100080121</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/100080121</guid><author>Hector2015</author><pubDate>Mon, 26 Aug 2019 16:13:05 +0800</pubDate><description><![CDATA[32位程序默认情况下最大运行内存为2G，一般情况下1G以上就容易出现异常，1.5G时可能会导致程序崩溃，如果是vs工程，此情况下可尝试修改最大内存地址为4G，修改方式如下：

项目-属性-链接器-系统-启用大地址
...]]></description><category></category></item><item><title><![CDATA[NSIS 打包脚本基础]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/100074262</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/100074262</guid><author>Hector2015</author><pubDate>Mon, 26 Aug 2019 11:33:54 +0800</pubDate><description><![CDATA[目录

简介  工具：脚本结构  属性  页面  区段  函数基本语法  变量  编译器指令参考


简介

NSIS（Nullsoft Scriptable Install System）是一个开源的Windows系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。这如其名字所指出的那样，NSIS是通过它的脚本语言来描述安装程序的行为和逻辑的。NSIS的脚...]]></description><category></category></item><item><title><![CDATA[Qt5.12.4请求https资源提示TLS初始化失败]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/99833270</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/99833270</guid><author>Hector2015</author><pubDate>Tue, 20 Aug 2019 12:14:46 +0800</pubDate><description><![CDATA[Qt本身是不支持https的，需要链接libea32.dll和ssleay32.dll两个库，Qt5.12.4链接的openssl库是1.1.1b版本的，当前项目使用的是1.0.2r版本，两个版本差距较大，1.1.1之后的版本动态库名称都已经改变了，此情况下有两种方法可以解决：

1、回退Qt版本到5.12.2，此版本链接的还是1.0.2系列的，可以匹配当前的openssl库；

2、升级open...]]></description><category></category></item><item><title><![CDATA[（转）去掉QTreeWidget中节点之间的虚线]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/98768056</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/98768056</guid><author>Hector2015</author><pubDate>Wed, 07 Aug 2019 17:56:48 +0800</pubDate><description><![CDATA[在使用QTreeWidget时，默认是带有虚线的，如下图所示：



现在需要将这些节点之间的虚线去掉，可采用两种方式，一种是在代码中添加控件的样式，另外一种是在qtcreator中直接设置样式。

第一种：qtcreator中设置样式：

右键该控件，选择change styleSheet…菜单，然后进入到样式编辑界面，添加如下代码：

QTreeView::branch {image:none...]]></description><category></category></item><item><title><![CDATA[无法定位程序输入点于动态链接库QtCore5.dll]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/94632912</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/94632912</guid><author>Hector2015</author><pubDate>Thu, 04 Jul 2019 17:22:23 +0800</pubDate><description><![CDATA[今天在升级Qt5.9.1到Qt5.12.4时，环境搭好后编译通过运行时出现上述问题，一般出现此问题都是由于编译链接的静态库和运行时的dll版本不匹配导致，检查了工程属性的附加库目录及附加依赖项，已正确设置新版Qt的路径和链接最新的lib库，最终发现是由于拷贝Qt5Network.dll到运行目录时用的是原先的Qt5.9.1，记录下depends工具发现此问题的方法。

使用depends工具打开生...]]></description><category></category></item><item><title><![CDATA[C++头文件包含顺序]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/89402210</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/89402210</guid><author>Hector2015</author><pubDate>Fri, 19 Apr 2019 16:07:22 +0800</pubDate><description><![CDATA[《Google C++ 编程风格指南》对于头文件的包含顺序是这样的：

Names and Order of Includes

link Use standard order for readability and to avoid hidden dependencies:C library, C++ library, other libraries' .h, your project's .h...]]></description><category></category></item><item><title><![CDATA[UML类图汇总]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/89381258</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/89381258</guid><author>Hector2015</author><pubDate>Thu, 18 Apr 2019 16:13:14 +0800</pubDate><description><![CDATA[一、类的属性的表示方式

在UML类图中，类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示，比如下图表示一个Employee类，它包含name,age和email这3个属性，以及modifyInfo()方法。



那么属性/方法名称前加的加号和减号是什么意思呢？它们表示了这个属性或方法的可见性，UML类图中表示可见性的符号有三种：

·+ ：表示public...]]></description><category></category></item><item><title><![CDATA[Go 语言学习路线指南]]></title><link>https://blog.youkuaiyun.com/Hector2015/article/details/82871793</link><guid>https://blog.youkuaiyun.com/Hector2015/article/details/82871793</guid><author>Hector2015</author><pubDate>Thu, 27 Sep 2018 19:08:54 +0800</pubDate><description><![CDATA[不知道是不是有同学打算开始学习 Golang，确不知道如何开始，至少我开始学习的时候就是这种感觉，为了这个，我查询了很多的帖子和问答。网上的 Golang 资料虽然不多，但是也不少，这个我的一个学习路线，从简单内容开始，可以作为参考。

第一步 Go 语言之旅

这个是一个官方的入门教程，或者说只是一个大概了解的教程，只介绍了一些简单的东西，并且没有太多的说明。不过这个教程支持在线执行代码，还是很...]]></description><category></category></item></channel></rss>