<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[elikang的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/elikang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; elikang]]></copyright><item><title><![CDATA[STM32、GD32 JTAG/SWD禁用（烧录失败）解决方法总结]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/122726736</link><guid>https://blog.youkuaiyun.com/elikang/article/details/122726736</guid><author>elikang</author><pubDate>Fri, 28 Jan 2022 09:36:42 +0800</pubDate><description><![CDATA[MCU烧录失败，有一种情况是JTAG/SW接口被禁用导致的。]]></description><category></category></item><item><title><![CDATA[QT 简单实现自定义标题栏]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/120764843</link><guid>https://blog.youkuaiyun.com/elikang/article/details/120764843</guid><author>elikang</author><pubDate>Thu, 14 Oct 2021 15:22:52 +0800</pubDate><description><![CDATA[参考：https://blog.youkuaiyun.com/GoForwardToStep/article/details/53494800https://blog.youkuaiyun.com/liang19890820/article/details/50555298

上面两个链接是我查找到的两种实现自定义标题栏的方法，在实际应用的过程中觉得比较麻烦，而且标题栏效果不太好调整，所以我整理了下面的方法：

这里用的自定义标题栏就是一个普通的QWidget，实现了图标、最大化、最小化、关闭按钮以及拖动标题栏实现软件移动的功..]]></description><category></category></item><item><title><![CDATA[QT的几种许可总结（GPL、LGPL、Commerical）]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/119449667</link><guid>https://blog.youkuaiyun.com/elikang/article/details/119449667</guid><author>elikang</author><pubDate>Fri, 06 Aug 2021 11:04:01 +0800</pubDate><description><![CDATA[Qt 有三个许可证：GPL、LGPL 和 Commercial（商业协议）。
这几个协议在现在的 Qt 版本中的代码是完全一致的（Qt 的早期版本，商业版的 Qt 通常包含有一些开源版本所没有的库，比如 QtSingleApplication 这个库）。Commerical License
如果你打算开发闭源（不开放源代码）的商业软件，对于普通开发人员和部分商业公司来说，使用 LGPL 版本的 Qt 可以节省很大的开销。这两个版本最大的区别在于，前者是免费的，后者是收费的。Commercial Licen.]]></description><category></category></item><item><title><![CDATA[Thread 协议]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/118966294</link><guid>https://blog.youkuaiyun.com/elikang/article/details/118966294</guid><author>elikang</author><pubDate>Wed, 21 Jul 2021 14:46:06 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[QTabWidget 隐藏选项卡]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/115729510</link><guid>https://blog.youkuaiyun.com/elikang/article/details/115729510</guid><author>elikang</author><pubDate>Thu, 15 Apr 2021 16:10:46 +0800</pubDate><description><![CDATA[Qt提供了调用接口，ui-&gt;tabWidget-&gt;setTabVisiable(0, false);第一页就被隐藏了
]]></description><category></category></item><item><title><![CDATA[Qt读写Excel文件的各种常用的方法]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/115173912</link><guid>https://blog.youkuaiyun.com/elikang/article/details/115173912</guid><author>elikang</author><pubDate>Wed, 24 Mar 2021 13:35:29 +0800</pubDate><description><![CDATA[https://wiki.qt.io/Handling_Microsoft_Excel_file_format 里面总结了Qt读写Excel文件的各种常用的方法，包括一些第三方的插件。


通常，在windos系统操作Excel上，QT有两种方式，一是通过COM组件，二是通过QODBC（数据库的方式）。

网上推荐是使用QAxObject通过COM组件读取，QODBC读取100MB的Excel文件的时候需要十几分钟，因为太慢，这种方法舍弃。

但是这个用法有问题，当机器没有安装Office的时候，是不能调用]]></description><category></category></item><item><title><![CDATA[QComboBox 鼠标点击触发 选项更新]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/114693536</link><guid>https://blog.youkuaiyun.com/elikang/article/details/114693536</guid><author>elikang</author><pubDate>Fri, 12 Mar 2021 13:43:15 +0800</pubDate><description><![CDATA[来自QQ群 Linux &amp;&amp; 技术分享 311078264

打开链接加入QQ群：https://jq.qq.com/?_wv=1027&amp;k=5Gr3bAx

此文档由elikang整理，为了文章简单直接，许多细节未能在文章中体现，如有疑问请进群讨论。
参考:https://forum.qt.io/topic/82695/click-on-drop-down-list-of-qcombobox （eventFilter）https://blog.youkuaiyun.com/qiufenpeng]]></description><category></category></item><item><title><![CDATA[C语言-宏的分类、作用与注意事项]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/103026232</link><guid>https://blog.youkuaiyun.com/elikang/article/details/103026232</guid><author>elikang</author><pubDate>Tue, 12 Nov 2019 13:15:24 +0800</pubDate><description><![CDATA[宏 macro


来自QQ群 Linux &amp;&amp; 技术分享 311078264
如果有兴趣的话可以加入进来一起学习，共同进步。
个体的精力总是有限的，分享经验，互助互利才是快速上升的捷径。


宏广泛用于C语言程序中，本文总结了宏的分类， 作用与使用注意事项
相信我，你对于宏的了解绝对没你想象的那么多。这篇文章是原来从网上找到的，原文出处已经找不到
了，文章思路清晰，包含的内容比较...]]></description><category></category></item><item><title><![CDATA[env 环境变量]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/88661467</link><guid>https://blog.youkuaiyun.com/elikang/article/details/88661467</guid><author>elikang</author><pubDate>Tue, 19 Mar 2019 14:23:34 +0800</pubDate><description><![CDATA[###########################################################
来自QQ群 Linux &amp;&amp; 技术分享 311078264
如果有兴趣的话可以加入进来一起学习，共同进步。
个体的精力总是有限的，分享经验，互助互利才是快速上升的捷径。
###############################################...]]></description><category></category></item><item><title><![CDATA[交叉编译 Qt5.12.2]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/88613992</link><guid>https://blog.youkuaiyun.com/elikang/article/details/88613992</guid><author>elikang</author><pubDate>Sun, 17 Mar 2019 10:06:31 +0800</pubDate><description><![CDATA[来自QQ群 Linux &amp;&amp; 技术分享 311078264
打开链接加入QQ群：https://jq.qq.com/?_wv=1027&amp;k=5Gr3bAx
此文档由elikang整理，为了文章简单直接，许多细节未能在文章中体现，如有疑问请进群讨论。

参考文章：https://doc.qt.io/qt-5/linux.html

交叉编译工作在Ubuntu18.04上进行，...]]></description><category></category></item><item><title><![CDATA[Wav_To_C]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/88250698</link><guid>https://blog.youkuaiyun.com/elikang/article/details/88250698</guid><author>elikang</author><pubDate>Thu, 07 Mar 2019 10:20:31 +0800</pubDate><description><![CDATA[将WAV音频文件转换为头文件，方便大家使用。

QT写得，数据包包括了一些依赖库，所以有些大，但是可以免费用哦（加入Q群下载：311078264）。

如果有特殊需求可以按照软件里面的联系方式联系我来修改。



下面是在优快云的下载链接，需要C币来下载（这个是系统自动设置的，我本来是想免费提供下载的，C币不方便的朋友可以加qq群下载）。

https://download.youkuaiyun.com/...]]></description><category></category></item><item><title><![CDATA[软件开发的核心]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/87783865</link><guid>https://blog.youkuaiyun.com/elikang/article/details/87783865</guid><author>elikang</author><pubDate>Wed, 20 Feb 2019 11:27:12 +0800</pubDate><description><![CDATA[
　「我们一直这样做开发，时间做久了，便忘了当初的本意。」
　　有关软件系统开发，我们谈些什么？
　　我们谈过程，编码规范、开发流程、同行评审、结对编程、持续集成，从瀑布到敏捷再到极限编程。
　　我们谈架构，企业级、J2EE、容器化、SOA（面向服务架构）、Microservices（微服务化）。
　　我们谈规模，大容量、高并发、大数据。
　　我们还谈可靠性、可用率、n个9、响应时间等等。。。
　...]]></description><category></category></item><item><title><![CDATA[memcpy 函数实现]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/87723367</link><guid>https://blog.youkuaiyun.com/elikang/article/details/87723367</guid><author>elikang</author><pubDate>Tue, 19 Feb 2019 18:08:57 +0800</pubDate><description><![CDATA[
memcpy函数的作用：
将由src指向地址为起始地址的连续n个字节的数据复制到以dest指向地址为起始地址的空间内，函数返回一个指向dest的指针。
想必大多数人在面试时被要求写 memcpy的实现，很不幸，我也吃过这个亏(这种题要是写的一塌糊涂后面完全没戏)，所以还是得提前准备一下，不然就只能呵呵了。
 

先来看看一段错误的示范: 找茬


void * memcpy(void *dest...]]></description><category></category></item><item><title><![CDATA[STM32在线升级 （IAP）]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/86082960</link><guid>https://blog.youkuaiyun.com/elikang/article/details/86082960</guid><author>elikang</author><pubDate>Tue, 08 Jan 2019 17:28:05 +0800</pubDate><description><![CDATA[来自QQ群 Linux &amp;&amp; 技术分享 311078264

打开链接加入QQ群：https://jq.qq.com/?_wv=1027&amp;k=5Gr3bAx

此文档由elikang整理，为了文章简单直接，许多细节未能在文章中体现，如有疑问请进群讨论。



STM32在线升级 （IAP）

不需要拆机就能够对产品进行升级，通过Bootloader就可以完成这项工作。

...]]></description><category></category></item><item><title><![CDATA[C语言 有符号类型转换为无符号类型]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/85762104</link><guid>https://blog.youkuaiyun.com/elikang/article/details/85762104</guid><author>elikang</author><pubDate>Fri, 04 Jan 2019 10:55:58 +0800</pubDate><description><![CDATA[C语言中变量的类型变换比较多，有些地方需要时刻注意，不然很可能写出带有bug的代码并深埋入系统，难以察觉。


例如 有符号类型和无符号类型运算，有符号类型转换为无符号类型。
需要注意的有两种情况：
1、有符号和无符号的算术运算
2、有符号和无符号的比较运算
一、验证有符号类型转换为无符号类型：
程序：
#include &amp;lt;stdio.h&amp;gt;
int main()
{
int a = -...]]></description><category></category></item><item><title><![CDATA[char可以是负数吗]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/85761205</link><guid>https://blog.youkuaiyun.com/elikang/article/details/85761205</guid><author>elikang</author><pubDate>Fri, 04 Jan 2019 10:42:42 +0800</pubDate><description><![CDATA[
C语言标准中没有规定char是signed char还是unsigned char，所以这就取决于编译器的实现了。
大部分编译器默认情况下将char解释为signed char，例如gcc和vc的编译器，这很大程度上是因为int默认是signed。
在程序中进行判断的方法：
#include &amp;lt;stdio.h&amp;gt;
int main(){
char a = -1;
if (a == -1...]]></description><category></category></item><item><title><![CDATA[linux c 使用libxml2 读写xml格式配置文件]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/85326770</link><guid>https://blog.youkuaiyun.com/elikang/article/details/85326770</guid><author>elikang</author><pubDate>Fri, 28 Dec 2018 16:37:58 +0800</pubDate><description><![CDATA[linux c使用libxml2读取配置文件  


Libxml2是个C语言的XML程式库，能简单方便的提供对XML文件的各种操作，并且支持XPATH查询，及部分的支持XSLT转换等功能。完全版的库是开源的，并且带有例子程式和说明文件。

libxml2的安装
 


yum install libxml2 libxml2-devel -y
或者
#sudo apt-get install li...]]></description><category></category></item><item><title><![CDATA[Linux C 读取ini格式（key&value）配置文件]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/85326597</link><guid>https://blog.youkuaiyun.com/elikang/article/details/85326597</guid><author>elikang</author><pubDate>Fri, 28 Dec 2018 16:31:20 +0800</pubDate><description><![CDATA[
在Windows下可以用GetPrivateProfileString或GetPrivateProfileInt方便读取.ini配置文件内容，
但是在Linux平台上就一筹莫展了。
为了解决该问题，打算用C来读取.ini，就可以不受平台的限制了。
配置文件Config.ini
[test]
name=elikang
age=12
读取配置文件的程序：
#include &amp;lt;stdio.h&amp;g...]]></description><category></category></item><item><title><![CDATA[使用CubeMX配置SDIO的4bit模式，对TF卡进行测试（MicroSD卡）]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/80736726</link><guid>https://blog.youkuaiyun.com/elikang/article/details/80736726</guid><author>elikang</author><pubDate>Tue, 19 Jun 2018 17:34:40 +0800</pubDate><description><![CDATA[来自QQ群 Linux &amp;amp;&amp;amp; 技术分享 311078264，有问题可以入群讨论打开链接可以加入QQ群：https://jq.qq.com/?_wv=1027&amp;amp;k=5Gr3bAx参考：http://www.stmcu.org/module/forum/thread-604576-1-1.htmlhttps://blog.youkuaiyun.com/zxh912516636/articl...]]></description><category></category></item><item><title><![CDATA[QtModbus Serial 简单示例]]></title><link>https://blog.youkuaiyun.com/elikang/article/details/79043464</link><guid>https://blog.youkuaiyun.com/elikang/article/details/79043464</guid><author>elikang</author><pubDate>Fri, 12 Jan 2018 14:16:27 +0800</pubDate><description><![CDATA[Qt Modbus在QtCreator的示例里面有例子，直接搜modbus就可以看到了，简单学一下就能学会了。

QModbusClient *modbusDevice;
1、删除modbus设备对象if (modbusDevice) modbusDevice-&gt;disconnectDevice(); delete modbusDevice;
modbusDevice =  nullptr;...]]></description><category></category></item></channel></rss>