qt相关宏

官网宏: https://doc.qt.io/qt-5/qtglobal.html
Q_UNLIKELY(expr): 向编译器提示封闭条件,expr,很可能评估为false。 使用该宏可以帮助编译器优化代码。
Q_LIKELY(expr): 向编译器提示封闭条件,expr,很可能评估为true。 使用该宏可以帮助编译器优化代码。
Q_BYTE_ORDER、 Q_BIG_ENDIAN、 Q_LITTLE_ENDIAN: 用于确定系统用于在内存中存储数据的字节顺序。即,您的系统是小端还是大端。
#if Q_BYTE_ORDER == Q_BIG_ENDIAN...
#endif
or
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN...
#endif

Q_ASSUME: void Q_ASSUME(bool expr): 使编译器假设expr是true。该宏通过向编译器提供有关编译器无法了解的条件的提示,对于改进代码生成非常有用。但是,不能保证编译器实际上会使用这些提示。
注意 :Q_LIKELY() 告诉编译器该表达式是可能的,但不是唯一的可能性。Q_ASSUME 告诉编译器这是唯一的可能性。
Q_ASSERT_X
#include <QtGlobal>
int divide(int a, int b)
{Q_ASSERT_X(b != 0, "divide", "division by zero");return a / b;
}
输出信息:ASSERT failure in divide: "division by zero", file div.cpp, line 7
Q_ASSERT: 如果出现以下情况,则打印包含源代码文件名和行号的警告消息test是false。 Q_ASSERT() 对于在开发过程中测试前置条件和后置条件非常有用。QT_NO_DEBUG如果在编译期间定义,它不会执行任何操作。
// File: div.cpp 
#include <QtGlobal> 
int divide(int a, int b) 
{     Q_ASSERT(b != 0);     return a / b; 
}
输出信息:ASSERT: "b != 0" in file div.cpp, line 7
QT_VERSION: 该宏扩展了 0xMMNNPP 形式的数值(MM = 主版本,NN = 小版本,PP = 补丁),指定 Qt 的版本号。例如,如果您针对 Qt 4.1.2 编译应用程序,则 QT_VERSION 宏将扩展为 0x040102。 您可以使用 QT_VERSION 来使用最新的 Qt 功能(如果可用)。
#if QT_VERSION >= 0x040100QIcon icon = style()->standardIcon(QStyle::SP_TrashIcon);#elseQPixmap pixmap = style()->standardPixmap(QStyle::SP_TrashIcon);QIcon icon(pixmap);
#endif
编译宏: Q_CC_MSVC(Windows), Q_CC_INTEL, Q_CC_CLANG( Clang苹果 ), Q_CC_GNU(gcc)
库宏: Q_DECL_EXPORT , Q_DECL_IMPORT
操作系统平台宏: Q_OS_IOS, Q_OS_LINUXQ_OS_MACOS Q_OS_UNIX Q_OS_WIN32 Q_OS_WIN64 Q_OS_WIN 
芯片架构宏:
Q_PROCESSOR_X86  Q_PROCESSOR_X86_32 Q_PROCESSOR_X86_64
Q_PROCESSOR_ARM Q_PROCESSOR_ARM_V5 Q_PROCESSOR_ARM_V6 Q_PROCESSOR_ARM_V7
Q_PROCESSOR_MIPS  Q_PROCESSOR_MIPS_32  Q_PROCESSOR_MIPS_64

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/201060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(整理中)01 - 模块机制

---- 整理自 王利涛老师 课程 文章目录 1. 可加载模块1.1 Linux内核的模块机制1.2 实验&#xff1a;hello模块1.3 内核模块的构成 KDIR : ${PWD}/../../linux-5.10.4clean:make -C ( K D I R ) M (KDIR) M (KDIR)M(PWD) modules cleanKDIR : ${PWD}/../../linux-5.10.4clean:…

Vue3网站用户引导功能【Intro.js】

一、介绍 Intro.js 是一个用于创建网站用户引导、功能介绍和教程的 JavaScript 库。它允许开发者通过步骤和提示突出显示网站上的特定元素&#xff0c;以帮助用户更好地了解和使用网站的功能。以下是 Intro.js 的一些关键特点和用法介绍&#xff1a; 更多Intro.js 功能网址&a…

mac批量修改图片格式

1. 当前窗口在word文档&#xff0c;选择工具-》宏-》点击宏 2. 弹出弹框&#xff0c;起个宏名1&#xff0c;点击2添加一个宏。 输入以下代码&#xff1a; Sub 图片格式统一()图片格式统一 宏Dim iDim Height, WeightHeight 200 改成自己的高度Weight 350 改成自己的宽度On E…

STM32-GPIO

一、GPIO简介 GPIO&#xff08;General Purpose Input Output&#xff09;通用输入输出口 可配置8种输入输出模式 引脚电平&#xff1a;0V~3.3V&#xff0c;部分引脚可容忍5V 输出模式下&#xff1a;可控制端口输出高低电平&#xff0c;用以驱动LED、控制蜂鸣器、模拟通信协议输…

MIT_线性代数笔记:第 12 讲 图、网络、关联矩阵

目录 图和网络 Graphs & Networks关联矩阵&#xff08;Incidence matrices&#xff09;矩阵的零空间矩阵列空间矩阵的左零空间矩阵的行空间 本讲讨论线性代数在物理系统中的应用。 图和网络 Graphs & Networks “图”就是“结点”和“边”的一个集合。 边线上的箭头代…

力扣11.盛最多水的容器

题目描述 思路 用双指针法。 每次向内移动较短的那个板&#xff0c;能带来更大的效益。 代码 class Solution {public int maxArea(int[] height) {int res 0;int i 0,j height.length - 1;while(i < j){res height[i] < height[j] ? Math.max((j - i) * height…

2023.12.4 关于 Spring Boot 统一异常处理

目录 引言 统一异常处理 异常全部监测 引言 将异常处理逻辑集中到一个地方&#xff0c;可以避免在每个控制器或业务逻辑中都编写相似的异常处理代码&#xff0c;这降低了代码的冗余&#xff0c;提高了代码的可维护性统一的异常处理使得调试和维护变得更加容易&#xff0c;通…

photoshop实现抠图的步骤

实现抠图的主要步骤如下&#xff1a; 打开图片&#xff1a;用Photoshop打开需要抠图的图片。 选择抠图工具&#xff1a;在Photoshop工具栏中找到“套索工具”、“魔术棒工具”、“快速选择工具”等工具&#xff0c;选择其中一个作为抠图工具。 选择抠图区域&#xff1a;用抠图…

pytorch学习9-优化器学习

系列文章目录 pytorch学习1-数据加载以及Tensorboard可视化工具pytorch学习2-Transforms主要方法使用pytorch学习3-torchvisin和Dataloader的使用pytorch学习4-简易卷积实现pytorch学习5-最大池化层的使用pytorch学习6-非线性变换&#xff08;ReLU和sigmoid&#xff09;pytorc…

Linux swatch命令教程:如何监控系统活动(附案例详解和注意事项)

Linux swatch命令介绍 Swatch&#xff0c;全称为Simple Watcher&#xff0c;是一个简单的监视器&#xff0c;设计用于监控系统活动。为了使Swatch有用&#xff0c;它需要一个配置文件&#xff0c;该文件包含要查找的模式和在找到每个模式时要执行的操作。 Linux swatch命令适…

[头歌系统数据库实验] 实验3 MySQL的DDL语言

目录 第1关&#xff1a;将P表中的所有红色零件的重量增加6 第2关&#xff1a;把P表中全部红色零件的颜色改成蓝色 第3关&#xff1a;将SPJ表中由S5供给J4的零件P6改为由S3供应 第4关&#xff1a;将SPJ表中所有天津供应商的QTY属性值减少11&#xff08;用子查询方式&#x…

C标准输入输出函数

介绍 C语言中常用的输入输出函数包括&#xff1a; scanf&#xff1a;从标准输入设备&#xff08;通常是键盘&#xff09;读取数据。printf&#xff1a;将数据输出到标准输出设备&#xff08;通常是显示器&#xff09;。getchar&#xff1a;从标准输入设备读取一个字符。putcha…

云轴科技ZStack助力彬长矿业建设智能矿山

陕西彬长矿业集团有限公司&#xff08;简称彬长矿业&#xff09;选择云轴科技ZStack智能矿山云解决方案建设云基础设施&#xff1a;ZStackCube超融合一体机部署在西咸云基地机房构建私有云资源池&#xff0c;ZStackCMP多云管理平台对西咸云基地机房以及各矿井生产服务中心资源进…

【每日OJ —— 94. 二叉树的中序遍历】

每日OJ —— 94. 二叉树的中序遍历 1.题目&#xff1a;94. 二叉树的中序遍历2.解法2.1.算法讲解2.2.代码实现2.3.提交通过展示 1.题目&#xff1a;94. 二叉树的中序遍历 2.解法 2.1.算法讲解 1.首先如果在每次每个节点遍历的时候都去为数组开辟空间&#xff0c;这样的效率太低…

quickapp_快应用_快应用与h5交互

快应用与h5交互 h5跳转到快应用[1] 判断当前环境是否支持组件跳转快应用[2] h5跳转到快应用(1)deeplink方式进行跳转(推荐)(2)h5点击组件(接收参数存在问题)(3)url配置跳转(官方不推荐) 问题-浏览器问题 web组件h5页面嵌入快应用快应用发送消息到h5页面h5页面接收快应用发送的消…

网络安全(三)-- 网络嗅探及协议分析技术

目标 了解网络嗅探的基本含义了解tcpdump工具的基本用法掌握tcpdump工具抓包保存到文件的方法熟悉wireshark工具的基本用法掌握借助wireshark抓包工具分析简单网络协议的方法 6.1. 概述 网络嗅探是一种常用的数据收集、分析的方法: 黑客常通过网络嗅探获取主机或网络的控制权…

golang使用sip实现语音通话

在使用 github.com/cloudwebrtc/sip 这个 Go 语言库时&#xff0c;要实现通话&#xff0c;您需要处理 SIP 协议的一系列操作&#xff0c;包括建立和终止呼叫、处理媒体传输等。以下是一个简化的示例代码&#xff0c;演示如何使用该库来处理 SIP 通话的基本流程&#xff1a; pac…

Python智能语音识别语翻译平台|项目后端搭建

Python程序设计基础&#xff0c;第三方库Django、requests、hashlib、pyttsx3等的使用&#xff0c;百度API语音识别业务接口、文本朗读业务接口、翻译业务接口的传入。 01、任务实现步骤 任务描述&#xff1a;本任务利用Django框架搭建智能语音识别与翻译平台的后端&#xff0…

ULAM公链第九十六期工作总结

迈入12月&#xff0c;接下来就是雪花&#xff0c;圣诞&#xff0c;新年和更好的我们&#xff01;愿生活不拥挤&#xff0c;笑容不必刻意&#xff0c;愿一切美好如期而至&#xff01; 2023年11月01日—2023年12月01日关于ULAM这期工作汇报&#xff0c;我们通过技术板块&#xff…

加州大学伯克利分校研究人员推出Starling-7B:一款通过人工智能反馈强化学习(RLAIF)训练的开源大型语言模型(LLM)

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…