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

相关推荐

  1. qt相关

    2023-12-07 19:14:05       47 阅读
  2. Qt和关键字

    2023-12-07 19:14:05       11 阅读
  3. C语言 可变参数列表及相关

    2023-12-07 19:14:05       34 阅读
  4. Qt相关开源项目总结

    2023-12-07 19:14:05       13 阅读
  5. QT之QML布局相关总结

    2023-12-07 19:14:05       44 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 19:14:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 19:14:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 19:14:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 19:14:05       20 阅读

热门阅读

  1. flex布局中的flex:1相关知识

    2023-12-07 19:14:05       38 阅读
  2. 【运维面试100问】(七)ceph基础题面试

    2023-12-07 19:14:05       38 阅读
  3. Js文件下载的两种方式【超简单】

    2023-12-07 19:14:05       36 阅读
  4. Ubuntu 18.04 ARM离线安装cifs-utils

    2023-12-07 19:14:05       35 阅读
  5. Oracle转MySQL该如何改变逻辑

    2023-12-07 19:14:05       31 阅读
  6. 【数据结构和算法】确定两个字符串是否接近

    2023-12-07 19:14:05       41 阅读
  7. 前端设计模式概论

    2023-12-07 19:14:05       35 阅读
  8. 【前端设计模式】之工厂模式

    2023-12-07 19:14:05       37 阅读