摘要: QT在windows下的机制,是采用PeekMessage的策略,所以我就想,在没有事件产生时,会发生什么,按照微软文档的解释,getmessage在没有消息时,会被阻塞。如果peekmessage没有消息时,就返回。那它所处的while不就一直占用cpu? 测试一个例子,用了qt的机制: // 消 阅读全文
posted @ 2022-02-19 13:52 青山見我 阅读(384) 评论(0) 推荐(0)
摘要: QWidget继承自QObject和QPaintDevice,QObject前篇已有部分介绍,QPaintDevice跟绘制系统相关,以后再看,先看看它的构造函数。 QWidget::QWidget(QWidget *parent, Qt::WindowFlags f) : QObject(*new 阅读全文
posted @ 2022-02-19 13:50 青山見我 阅读(1297) 评论(0) 推荐(0)
摘要: 先贴上源码的部分实现,如下,可以看到跟vector类似的模式,还是以deque<int>为例, template <class _Ty, class _Alloc = allocator<_Ty>> class deque { private: friend _Tidy_guard<deque>; 阅读全文
posted @ 2022-02-19 13:49 青山見我 阅读(222) 评论(0) 推荐(0)
摘要: 好记性不如烂博客;stl源码剖析那本书不想看,没事(有事懒得做)看看微软的vector实现。 以vector<int> 为例 template <class _Ty, class _Alloc = allocator<_Ty>> class vector { // varying size arra 阅读全文
posted @ 2022-02-10 14:40 青山見我 阅读(538) 评论(0) 推荐(0)
摘要: 恢复内容开始 QCoreApplicationPrivate 会取得current thread; 在windows平台创建TLS变量,记录线程信息,并将此线程记录为主线程。交由QCoreApplicationPrivate::theMainThread维护。 QThreadData *QThrea 阅读全文
posted @ 2021-12-17 20:33 青山見我 阅读(766) 评论(0) 推荐(0)
摘要: 菜鸡一个,随便写写,勿喷。好记性不如烂笔头。 了解qt,第一个绕不过的坎便是。 1 class Object : public QObject 2 { 3 Q_OBJECT 4 Q_PROPERTY(int age READ age WRITE setAge NOTIFY ageChanged) 5 阅读全文
posted @ 2021-11-13 21:05 青山見我 阅读(1953) 评论(0) 推荐(2)
摘要: 问题起因是,在一次模块卸载后,程序运行异常。遂对动态链接库做一些测试。 动态库加载方式有两种,隐式加载和显示加载,隐式加载包含xxx.lib导入库,在程序执行之前由动态加载器完成所有加载;显示加载则使用LoadLibrary方式;具体数据可参考《程序员的自我修养:链接,装载与库》一书。 动态库头文件 阅读全文
posted @ 2021-02-05 16:53 青山見我 阅读(1090) 评论(1) 推荐(2)