Files
wnmj-normal/Classes/Define/Module.h

63 lines
1.6 KiB
C
Raw Normal View History

2026-03-03 13:56:44 +08:00
#ifndef MODULE_HEAD_FILE
#define MODULE_HEAD_FILE
//////////////////////////////////////////////////////////////////////////////////
//版本比较
//产品版本
#define BULID_VER 0 //授权版本
#define PRODUCT_VER 6 //产品版本
//接口版本
#define INTERFACE_VERSION(cbMainVer,cbSubVer) \
(DWORD)( \
(((BYTE)(PRODUCT_VER))<<24)+ \
(((BYTE)(cbMainVer))<<16)+ \
((BYTE)(cbSubVer)<<8))+ \
((BYTE)(BULID_VER))
//模块版本
#define PROCESS_VERSION(cbMainVer,cbSubVer,cbBuildVer) \
(uint32)( \
(((uint8)(PRODUCT_VER))<<24)+ \
(((uint8)(cbMainVer))<<16)+ \
((uint8)(cbSubVer)<<8)+ \
(uint8)(cbBuildVer))
//产品版本
inline uint8 GetProductVer(uint32 dwVersion)
{
return ((uint8 *)&dwVersion)[3];
}
//主要版本
inline uint8 GetMainVer(uint32 dwVersion)
{
return ((uint8 *)&dwVersion)[2];
}
//次要版本
inline uint8 GetSubVer(uint32 dwVersion)
{
return ((uint8 *)&dwVersion)[1];
}
//编译版本
inline uint8 GetBuildVer(uint32 dwVersion)
{
return ((uint8 *)&dwVersion)[0];
}
//版本比较
inline bool InterfaceVersionCompare(uint32 dwQueryVer, uint32 dwInterfaceVer)
{
if (GetSubVer(dwQueryVer)>GetSubVer(dwInterfaceVer)) return false;
if (GetMainVer(dwQueryVer)!=GetMainVer(dwInterfaceVer)) return false;
if (GetBuildVer(dwQueryVer)!=GetBuildVer(dwInterfaceVer)) return false;
if (GetProductVer(dwQueryVer)!=GetProductVer(dwInterfaceVer)) return false;
return true;
};
//////////////////////////////////////////////////////////////////////////////////
#endif