//========================================================================
//TITLE:
// CPU类型和宏定义
//AUTHOR:
// norains
//DATE:
// Saturday 18-August-2007
//Environment:
// EVC4.0 + Windows CE 5.0 Standard SDK
// EVC4.0 + Windows CE 4.2 Standard SDK
//========================================================================
相信很多人都有这么一个经历,想宏定义某一个值,而这个值随着编译器选择的CPU不同而有所不同,但却苦于文档中没有关于CPU宏的说明.所以很多朋友的做法往往做法是自定以多个宏用来区分CPU的类型.其实大可不必,编译器在CPU不同时确实定义了相应的宏,只不过这个在文档中没有说明而已.
CPU Type Macro
x86 _X86_
mips _MIPS_
arm _ARM_
sh3 _SH3_
根据不同的CPU定义不同的宏数值,代码可如此书写:
#ifdef _X86_
#define REG_NUM 8
#endif
#ifdef _MIPS_
#define REG_NUM 12
#endif
其实最为实用的,还是根据不同的CPU类型选择不同的lib库链接,例如:
#ifdef _X86_
#pragma comment (lib,".//lib//X86em//Strmiids.lib")
#endif
#ifdef _MIPS_
#pragma comment (lib,".//lib//MIPSII//Strmiids.lib")
#endif
//TITLE:
// CPU类型和宏定义
//AUTHOR:
// norains
//DATE:
// Saturday 18-August-2007
//Environment:
// EVC4.0 + Windows CE 5.0 Standard SDK
// EVC4.0 + Windows CE 4.2 Standard SDK
//========================================================================
相信很多人都有这么一个经历,想宏定义某一个值,而这个值随着编译器选择的CPU不同而有所不同,但却苦于文档中没有关于CPU宏的说明.所以很多朋友的做法往往做法是自定以多个宏用来区分CPU的类型.其实大可不必,编译器在CPU不同时确实定义了相应的宏,只不过这个在文档中没有说明而已.
CPU Type Macro
x86 _X86_
mips _MIPS_
arm _ARM_
sh3 _SH3_
根据不同的CPU定义不同的宏数值,代码可如此书写:
#ifdef _X86_
#define REG_NUM 8
#endif
#ifdef _MIPS_
#define REG_NUM 12
#endif
其实最为实用的,还是根据不同的CPU类型选择不同的lib库链接,例如:
#ifdef _X86_
#pragma comment (lib,".//lib//X86em//Strmiids.lib")
#endif
#ifdef _MIPS_
#pragma comment (lib,".//lib//MIPSII//Strmiids.lib")
#endif