qt相关宏

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 >= 0x040100
    QIcon icon = style()->standardIcon(QStyle::SP_TrashIcon);#else
    QPixmap 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值