09 2024 档案
摘要:https://itanium-cxx-abi.github.io/cxx-abi/abi.html#member-pointers 2.3 Member Pointers 2.3.1 Data Member Pointers The basic ABI properties of data mem
阅读全文
摘要:-Xclang -fdump-record-layouts 下面是一张更改了部分代码的示意图,下图中是基于Clang编译器的结果 下面代码片段是基于GCC的结果,其中的jmp 后的地址,gcc是以.LTHUNK0 , .LTHUNK1, .LTHUNK2 来表示Base::Foo , Base2::
阅读全文
摘要:Qt中为WindowSystemEvent事件定义了处理函数Handler,通过宏定义和模版来声明定义 QT_DEFINE_QPA_EVENT_HANDLER Matches (25 in 1 files) qwindowsysteminterface.cpp (gui\kernel) line 1
阅读全文
摘要:#include "QtWidgetsApplication1.h" #include <QtWidgets/QApplication> class GlobalEventFilter : public QObject { public: virtual bool eventFilter(QObje
阅读全文
摘要:Helper variable template template< class... B > inline constexpr bool disjunction_v = disjunction<B...>::value; (since C++17) Possible implementation
阅读全文
摘要:corelib\kernel\qobjectdefs.h template <typename T> inline QTemplatedMetaMethodReturnArgument<T> returnArgument(const char *name, T &t) { return { qMet
阅读全文
摘要:Qt 创建连接类型如果是 Qt::BlockingQueuedConnection,即sender thread 与 receiver thread 不同, 但是要求 sender signal 与 receiver slot 执行是 不同线程间的同步行为。也即:在sender signal 发出后
阅读全文
摘要:先执行全局过滤器 上一步返回false 则 执行 receiver 上注册的事件过滤器 上一步返回false 这 执行 receiver 的 event 事件处理函数,根据具体事件类型执行 具体事件处理器函数 如:MousePressEvent(QEvent* e) 根据上一步receiver 的e
阅读全文
摘要:转自:Trivial, standard-layout, POD, and literal types https://learn.microsoft.com/en-us/cpp/cpp/trivial-standard-layout-and-pod-types?view=msvc-170 http
阅读全文
摘要:QString methodType(QMetaMethod::MethodType mety) { switch (mety) { case QMetaMethod::Signal: return QString("QMetaMethod::Signal"); case QMetaMethod::
阅读全文
摘要:Qt中的Meta Type 包含两种类型,每个类型都以一个整型ID来表示, 内建类型和用户自定义类型(自定义类型对应的整型ID 从65536 即 QMetaType::User 开始): 1)内建类型: corelib\kernel\qmetatype.h // F is a tuple: (QMe
阅读全文
摘要:1.code class GranPa: public QObject { Q_OBJECT public: explicit GranPa(QObject *parent = nullptr); signals: void gran_siga(); void gran_sigb(); void g
阅读全文