`
dato0123
  • 浏览: 925203 次
文章分类
社区版块
存档分类
最新评论

CPU类型和宏定义

 
阅读更多
//========================================================================
//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
分享到:
评论

相关推荐

    微机原理与接口技术课件:第4章_2过程定义伪指令PROC、ENDP.ppt

    微机原理与接口技术课件:过程定义伪指令PROC、ENDP ...本节课件讲解了微机原理与接口技术中的过程定义伪指令PROC、ENDP,宏定义伪指令,宏调用和宏展开等概念,并对比了宏命令伪指令和过程调用的差别。

    FreeRTOS操作系统配置参数说明.pdf

    这些宏定义参数的配置将对FreeRTOS操作系统的性能和稳定性产生重要影响,因此需要根据实际情况进行配置。 五、FreeRTOS操作系统的缺省设置 FreeRTOS操作系统的缺省设置包括: 1. 系统时钟节拍频率为1000Hz。 2. ...

    32位汇编语言程序设计 钱晓捷

    * 宏定义可以用于定义符号常量、函数和变量。 十、汇编语言与C和C++语言的差异 * 汇编语言是一种低级语言,而C和C++语言是一种高级语言。 * 汇编语言需要手动管理内存,而C和C++语言有垃圾回收机制。 十一、常见...

    第三章-单片机程序设计优秀文档.ppt

    * 宏定义:MACRO 形式参数,…;被定义的程序段,ENDM * 宏调用:宏指令名 实际参数,… 本文档详细介绍了单片机程序设计的基础知识和方法论,为学习单片机程序设计提供了有价值的参考资料。

    汇编语言教程

     9.1 宏的定义和引用  1 宏的定义  2 宏的引用  3 宏的参数传递方式  4 宏的嵌套定义  5 宏与子程序的区别  9.2 宏参数的特殊运算符  1 连接运算符  2 字符串整体传递运算符  3 字符转义运算符  4 ...

    Linux内核分析之调度算法.doc

    这些宏定义可以帮助开发者快速地了解和使用 Linux 调度算法。 Linux 内核分析之调度算法是 Linux 内核中的一种重要机制,用于实现进程调度和资源分配。它具有模块化的结构,允许多种不同的调度算法并存,并且可以...

    汇编语言入门到精通文档

     9.1 宏的定义和引用  1 宏的定义  2 宏的引用  3 宏的参数传递方式  4 宏的嵌套定义  5 宏与子程序的区别  9.2 宏参数的特殊运算符  1 连接运算符  2 字符串整体传递运算符  3 字符转义运算符  4 ...

    C语言常用术语.pdf

    C语言常用术语 C语言是一种广泛使用的程序设计语言,具有丰富的术语体系。以下是C语言常用术语的解释: ...* Head file:头文件,包含函数声明和宏定义的文件。 * Scope:作用域,变量和函数的可见范围。

    ADS.12的工程建立与配置

    inc 文件夹中包含了许多头文件,这些头文件定义了各种函数和宏定义,而 lib 文件夹中包含了对应的库文件,这些库文件提供了对应的函数实现。用户可以将需要的函数添加到工程中,以便在应用程序中使用这些函数。 三...

    WINDOWS系统开发汇编语言教程

     9.1 宏的定义和引用  1 宏的定义  2 宏的引用  3 宏的参数传递方式  4 宏的嵌套定义  5 宏与子程序的区别  9.2 宏参数的特殊运算符  1 连接运算符  2 字符串整体传递运算符  3 字符转义运算符  4 ...

    stm32F407 keil 项目工程的建立,整理笔记.docx

    - 宏定义:通过不同的宏定义区分不同STM32F4系列芯片,例如在特定行添加对应的宏。 - 枚举型类型:定义了中断序列号,如TIM5_IRQn,方便直接引用。 - 重定义的变量类型:如#define __IO volatile,用于声明访问内存...

    汇编语言教程(AoGo汇编网站)

     9.1 宏的定义和引用  1 宏的定义  2 宏的引用  3 宏的参数传递方式  4 宏的嵌套定义  5 宏与子程序的区别  9.2 宏参数的特殊运算符  1 连接运算符  2 字符串整体传递运算符  3 字符转义运算符  4 ...

    汇编语言教程Assembly Language

     9.1 宏的定义和引用  1 宏的定义  2 宏的引用  3 宏的参数传递方式  4 宏的嵌套定义  5 宏与子程序的区别  9.2 宏参数的特殊运算符  1 连接运算符  2 字符串整体传递运算符  3 字符转义运算符  4 ...

    汇编语言.chm 学习汇编语言入门

     9.1 宏的定义和引用  1 宏的定义  2 宏的引用  3 宏的参数传递方式  4 宏的嵌套定义  5 宏与子程序的区别  9.2 宏参数的特殊运算符  1 连接运算符  2 字符串整体传递运算符  3 字符转义运算符  4 ...

    汇编语言基础教程(8086).rar

     9.1 宏的定义和引用  1 宏的定义  2 宏的引用  3 宏的参数传递方式  4 宏的嵌套定义  5 宏与子程序的区别  9.2 宏参数的特殊运算符  1 连接运算符  2 字符串整体传递运算符  3 字符转义运算符  4 计算...

    汇编语言基础教程 汇编语言基础教程

     9.1 宏的定义和引用  1 宏的定义  2 宏的引用  3 宏的参数传递方式  4 宏的嵌套定义  5 宏与子程序的区别  9.2 宏参数的特殊运算符  1 连接运算符  2 字符串整体传递运算符  3 字符转义运算符  4 ...

    汇编语言教程-学习的极佳资料

     9.1 宏的定义和引用  1 宏的定义  2 宏的引用  3 宏的参数传递方式  4 宏的嵌套定义  5 宏与子程序的区别  9.2 宏参数的特殊运算符  1 连接运算符  2 字符串整体传递运算符  3 字符转义运算符  4 ...

    汇编语言教程.chm

     9.1 宏的定义和引用  1 宏的定义  2 宏的引用  3 宏的参数传递方式  4 宏的嵌套定义  5 宏与子程序的区别  9.2 宏参数的特殊运算符  1 连接运算符  2 字符串整体传递运算符  3 字符转义运算符  4 ...

    汇编语言基础学习资料

     9.1 宏的定义和引用  1 宏的定义  2 宏的引用  3 宏的参数传递方式  4 宏的嵌套定义  5 宏与子程序的区别  9.2 宏参数的特殊运算符  1 连接运算符  2 字符串整体传递运算符  3 字符转义运算符  4 ...

Global site tag (gtag.js) - Google Analytics