QT_CONFIG宏是什么作用?

QT_CONFIG宏是什么作用?

#if QT_CONFIG(modbus_serialport) //是否支持modbus_serialport
        int parity = QSerialPort::EvenParity;
        int baud = QSerialPort::Baud19200;
        int dataBits = QSerialPort::Data8;
        int stopBits = QSerialPort::OneStop;
#endif

/*
    The QT_CONFIG macro implements a safe compile time check for features of Qt.
    Features can be in three states:
        0 or undefined: This will lead to a compile error when testing for it
        -1: The feature is not available
        1: The feature is available
*/
#define QT_CONFIG(feature) (1/QT_FEATURE_##feature == 1)

QT_CONFIG宏实现了一个在编译时期安全检查,检查指定的Qt特性是否存在或是否可利用

返回值如下:

0或者未定义:这将导致一个编译时期的错误(有点类似C++11的static_assert,其实其幕后就是static_assert实现的)。

-1:指定的Qt特性不可用。

1:指定的Qt特性可利用。

posted @ 2023-01-06 10:23  txwtech  阅读(245)  评论(0编辑  收藏  举报