LittleVGL 源码分析--src/lv_version.h

/**
 * @file lv_version.h
 *
 */

#ifndef LV_VERSION_H
#define LV_VERSION_H

#ifdef __cplusplus
extern "C" {
#endif

/*********************
 *      INCLUDES
 *********************/
/*Current version of LittlevGL*/  /*LittlevGL的当前版本*/
#define LVGL_VERSION_MAJOR   6   //major(主要的)
#define LVGL_VERSION_MINOR   0   //minor(次要的)
#define LVGL_VERSION_PATCH   0   //patch(补丁)
#define LVGL_VERSION_INFO    ""  //版本信息


/*********************
 *      DEFINES
 *********************/

/**********************
 *      TYPEDEFS
 **********************/

/**********************
 * GLOBAL PROTOTYPES
 **********************/

/**********************
 *      MACROS               //运行宏
 **********************/
/** Gives 1 if the x.y.z version is supported in the current version 如果当前版本支持x.y.z版本,则给出1
 * Usage:用法:
 * 
 * - Require v6   需要v6版本
 * #if LV_VERSION_CHECK(6,0,0)
 *   new_func_in_v6();
 * #endif
 *
 *
 * - Require at least v5.3 至少需要v5.3版本
 * #if LV_VERSION_CHECK(5,3,0)
 *   new_feature_from_v5_3();
 * #endif
 *
 *
 * - Require v5.3.2 bugfixes 需要v5.3.2修复错误
 * #if LV_VERSION_CHECK(5,3,2)
 *   bugfix_in_v5_3_2();
 * #endif
 *
 * */
#define LV_VERSION_CHECK(x,y,z) (x == LVGL_VERSION_MAJOR && (y < LVGL_VERSION_MINOR || (y == LVGL_VERSION_MINOR && z <= LVGL_VERSION_PATCH)))


#ifdef __cplusplus
} /* extern "C" */
#endif

#endif /*LV_VERSION_H*/

主要是这个宏的用法

LV_VERSION_CHECK(x,y,z)

(x ==  LVGL_VERSION_MAJOR    &&

          (y < LVGL_VERSION_MINOR ||

                            (y == LVGL_VERSION_MINOR && z <= LVGL_VERSION_PATCH)))

 

首先保证主版本。次版本可以小于系统定义的,次版本和系统定义相同的情况下。补丁版本可以随意。

你可能感兴趣的:(LittleVGl)