s60各版本


epoc32\tools下面有这几个文件里定义了和版本相关的宏


3.1\e32plat.pm

3.1\e32variant.pm


所以可以通过:

__SYMBIAN32__        //symbian都有定义,用来跨平台,区分symbian和其它OS,如wince

__SERIES60_3X__   //3.0  3.1 3.2 5.0都有定义,用来区分3rd和其它版本(5th本质和3rd没有区别,只是多了触控)(symbian^3应该未定义这个宏,这个未验证)



__SERIES60_30__      //只在3.0

__SERIES60_31__      //只在3.1

__S60_50__                  //只在5.0



Epoc32\include\variant\symbian_os_v9.1.hrh

EKA1和EKA2用于判断第三版之前或之后

ps:Epoc32\tools\variant\variant.cfg的内容如下

epoc32\include\variant\Symbian_OS_v9.1.hrh


===========通过文件存在否,来断判===用来选择安装文件(如针对不台平台的dll)=====

http://www.developer.nokia.com/Community/Wiki/如何在安装或运行时检查S60平台版本

_LIT(KS60ProductIDFile, "Series60v*.sis");
_LIT(KROMInstallDir, "z: \\system\\install\\");

series60v3.0.sis                                                 //只在3.0

series60v3.0.sis和series60v3.1.sis              //只在3.1

S60 2nd Series60v2.0.sis
S60 2nd FP1 Series60v2.1.sis
S60 2nd FP2 Series60v2.6.sis
S60 2nd FP3 Series60v2.8.sis
S60 3rd MR Series60v3.0.sis
S60 3rd FP1 Series60v3.1.sis
S60 3rd FP2 Series60v3.2.sis
S60 5th Series60v5.0.sis
Symbian^2 Series60v5.1.sis // 这个东西是啥,意义不明。。。
Symbian^3 Series60v5.2.sis

IF EXISTS("z:\system\install\Series60v2.8.sis")

; install 2nd Ed, FP3-specific files

ELSEIF EXISTS("z:\system\install\Series60v2.6.sis")

; install 2nd Ed, FP2-specific files

ELSEIF EXISTS("z:\system\install\Series60v2.1.sis")

; install 2nd Ed, FP1-specific files

ELSE

; 2nd Edition-specific files

ENDIF



在运行时检查平台版本

下列方法可以在运行时检查S60平台版本,返回时,将获得版本号。注意当主版本号表明S60版本时,副版本号将表明Feature Pack版本(如2.6=2nd Edition, FP2)
//------------------------------------------------------------------------------

#include <f32file.h> // link against efsrv.lib

_LIT(KS60ProductIDFile, "Series60v*.sis");

_LIT(KROMInstallDir, "z:\\system\\install\\");

void GetS60PlatformVersionL( RFs& aFs, TUint& aMajor, TUint& aMinor )

{

TFindFile ff( aFs );

CDir* result;

User::LeaveIfError( ff.FindWildByDir( KS60ProductIDFile, KROMInstallDir, result ) );

CleanupStack::PushL( result );

User::LeaveIfError( result->Sort( ESortByName|EDescending ) );

aMajor = (*result)[0].iName[9] - '0';

aMinor = (*result)[0].iName[11] - '0';

CleanupStack::PopAndDestroy(); // result

}



//------------------------------------------------------------------------------

====================





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值