freeeyes 发表于 2014-6-24 13:52:31

获得并比对当前ACE版本号的宏

由于工作需要,不同的ace版本或多或少是有一些差距的。
为了让代码对ace的版本有所弹性,于是查看是否有获得并比较ace版本好的方法。

找到了,代码如下。
一个宏搞定
#include "stdafx.h"
#include "ace/ACE.h"
#include "ace/OS_main.h"

static bool Convert_Version(int nTagVserion)
{
        int nCurrVserion = 0;
        nCurrVserion += (int)ACE::major_version() * 1000;
        nCurrVserion += (int)ACE::minor_version() * 100;
        nCurrVserion += (int)ACE::beta_version();

        if(nTagVserion >= nCurrVserion)
        {
                return true;
        }
        else
        {
                return false;
        }
}

#define CONVERT_ACE_VERSION(x) Convert_Version(x)

int ACE_TMAIN(int argc, ACE_TCHAR* argv[])
{
        if(CONVERT_ACE_VERSION(6000) == true)
        {
                printf("Version is 6200.\n");
        }
        else
        {
                printf("Version less than 6200.\n");
        }

        getchar();

        return 0;
}



页: [1]
查看完整版本: 获得并比对当前ACE版本号的宏