随便分一个
小舆儿
这个作者很懒,什么都没留下…
展开
-
MySQL递归调用学习助手
MySQL递归调用学习助手原创 2022-07-20 17:28:26 · 154 阅读 · 1 评论 -
keil中__weak的功能和应用
__weak可以应用于函数的声明和实现.若使用__weak修饰声明 __weak void function(void);执行 function(); 语句时,当前文件中实现了function函数则调用本文件中的function函数,否则执行一条NOP空操作.若使用__weak修饰实现__weak void function(void) {}执行 function(...原创 2019-08-15 11:14:13 · 5790 阅读 · 0 评论 -
站在web技术的肩膀上
今天学习了web技术.web技术太繁杂了.做个笔记,对web技术做个总览.文字版本 浏览器是把字符串解析成可展示内容的工具. 字符串解析成可展示内容的技术叫做前端 字符串的内容经常是html语言描述的页面 页面中包含浏览器需要解析出来的各种对象 对象可以是js语言或对其他...原创 2018-12-15 16:59:46 · 141 阅读 · 0 评论 -
Qt creater手动编译静态mysql库
Qt发布程序一直被人吐槽。最近尝试了一下编译静态Qt库。参考这篇文章除了耗时,其他很顺利。因为我一直使用mysql。编译完才发现静态库中并没有mysql。如果一开始编译参考这篇文章就可以直接编译好mysql了。如果你像我一样先编译好了不带mysql的静态库,怎么单独编译静态版本的mysql库呢?像编译dll一样我们青铜是肯定用Qtcreater的。这个过程我参考了一个静态编译sql server的...原创 2018-05-28 11:58:32 · 3012 阅读 · 1 评论 -
Qt的model中一裤衩函数的总结
最近要用Qt做一个MVC的项目。一打开model,我擦晕了。满眼的函数,完全不知道怎么用。和以往猜一猜加随便看两眼文档就开始大刀阔斧的使用Qt不同。啃了两天,终于肯掉了肉,肯出了骨头。闲话少说,毕竟上班时间写博客也是划水的一种。原创 2015-06-09 09:10:43 · 836 阅读 · 0 评论 -
在systemWorkBench中使用st-link调试程序
第一次使用systemWorkBench和st-link。安装编译过程很顺利。傻瓜是操作到调试出现如下错误:Info : device id = 0x100f6413Info : flash size = 512kbytesInfo : Unable to match requested speed 2000 kHz, using 1800 kHzInfo : Unable t原创 2017-03-22 16:44:17 · 4220 阅读 · 0 评论 -
不占用windows用户对象的定时器
QEventDispatcherWin32::registerTimer: Failed to create a timer (当前程序已使用了 Window 管理器对象的系统允许的所有句柄。并不是句柄达到了上限,而是用户对象数量达到了上限.windows每个进程最多只能创建10000个用户对象.每个活动的QTimer要使用一个windows的timer(用户对象).当进程管理的对象需要大量定时器(超过10000 - 其他地方使用的用户对象数量)时,就会出现上述错误.原创 2016-11-11 09:39:27 · 3508 阅读 · 1 评论 -
对象自己的集合
#ifndef GATHER_H#define GATHER_H#include #include templateclass Gather{public: static QList& findAll() { return objects_; }protected: Gather() { objects_.append((T*)this); } ~Ga原创 2016-11-11 09:44:30 · 369 阅读 · 0 评论 -
对象之间的关系
一说到UML,很多人都想到的是类图.说到关系,也都是谈类之间的关系.在编程过程中,发现类之间的关系和对象之间的关系并不是一一对应的.比如苹果继承了水果,他们之间是泛化关系.但是在对象中,水果就是水果,苹果就是苹果.对象关系中,不存在泛化.没有明确的关系,对数据(对象)的管理会产生混乱.所以今天总结了一下我遇到的对象之间的关系:对相见的关系相对类来说,简单清晰:关联,依赖,共生.原创 2016-01-29 15:14:33 · 495 阅读 · 0 评论 -
Qt程序运行一段时间后,QTimer无法使用。
最近一个运行了很久的Qt项目突然开始出现问题。跟踪了好久发现Qtimer的remainingTime一直都是0。不会减到-1,也不会促发timeout信号。最后研究一下发现QTimer使用windows句柄。QTimer::signalShot()这个静态函数会创建一个QTimer。而且创建者析构了,如果这个timer不停止,不会析构。也不会释放windows句柄。这样程序运行久了或者对象原创 2016-09-24 10:59:14 · 6159 阅读 · 9 评论 -
单例模式的改进
别人的宏。一直纠结后面没法加分号。后面增加了一个没什么用的enum。终于可以使用分号了。原创 2016-09-24 10:47:08 · 437 阅读 · 0 评论 -
Qt中findChildren返回值不对
今天在调试程序中发现findChildren函数返回值和模版参数不匹配.函数调用的本身和库都没有错误.最后发现是我在继承了QObject的过程中没有使用Q_OBJECT宏.使用了该宏.Qt的元对象编译器才会初始化类的className.findChildren是通过className来便利到需要返回的内容.QObject和QWidget类提供的很多函数都需要元对象编译器提供原创 2016-01-25 16:39:47 · 1510 阅读 · 0 评论 -
带记忆功能的QSqlitter
Qt的窗口大部分使用不同的布局就可以解决问题.有些特殊的场合需要QSqlitter来分割窗口.通常QSqlitter动态划分的窗口是需要保存的.以免使用者每次打开软件都需要重新调整窗口分割.本计划将QSqlitter提升为一个能够自动保存的类.可是调试中发现在窗口cpp中的代码可以保存.提升为类后,无法保存了.研究了一下才发现,Qt的ui提升类是在ui.setup中完成的.所以提升类中次修改的原创 2015-12-28 09:49:47 · 589 阅读 · 0 评论 -
c++管理对象之间动态的多重连接
接触c++一年了.进入了一个无论如何写代码都觉得不够优雅的阶段.最近研究了一下UML帮助自己为稍微复杂些的需求建模.UML中用的最多的怕是关联关系了.复杂的模型中,很有可能动态产生和删除对象,对象之间动态的产生/删除多重关联关系.例如教务管理软件.需要管理课程,学生,社团.课程,社团和学生之间的关系都是多对多的动态关联.那么使用什么方法能方便快捷的管理这些动态的对象?比如不原创 2015-12-10 14:58:03 · 558 阅读 · 0 评论 -
QMap QHash的选择
QMap QHash有近乎相同的功能。很多资料里面介绍过他们之间的却别了。但是都没有说明在使用中如何选择他们。实际上他们除了存储顺序的差别外,只有key操作的区别。哈希算法是将包含较多信息的“key”转换成包含信息较少的“key的key”。通过“key的key”查找key,在通过key找到value。所以选择上应该考虑如下几点1:对于例如QString这种复杂的比较,哈希算法比ma原创 2014-03-21 16:51:35 · 1000 阅读 · 0 评论 -
被卡住的进度条
我要在一个程序一开始加载一些内容。这些内容都是在一个函数原创 2014-07-05 15:57:27 · 911 阅读 · 0 评论 -
keil c51中的data idata xdata code详解
51单片机采用哈佛结构。内存空间编址有重叠。可以在不同总线(本文称其为总线域,简称域)上定义不同的变量。在keilc51中定义了data idata xdata code几种域修饰符。这些修饰符决定了变量访问方式。data:用mov直接访问的内部RAMidata:用mov @间接访问的内部RAMxdata:用movx访问的外部RAMcode:用movc访问的rom这些假定以上以原创 2014-01-11 11:26:19 · 11330 阅读 · 0 评论