DSP-CH8-C语言开发.pptVIP

  • 7
  • 0
  • 约7.83千字
  • 约 37页
  • 2016-12-06 发布于湖北
  • 举报
DSP-CH8-C语言开发

8.2.6其他注意事项 (1)c_int00函数包含在运行支持库中,必须与其他的C目标模块相链接。在链接时, 如果用c或cr选项,并包含实时运行支持库rts.lib,则 c_int00就自动链入。链接C程序时,链接器将可执行模块的入口点设置为c_int00。 (2)采用C优化编译时,为了保证程序的正确性; 要特别注意,如果使用asm行汇编语句,则必须对编译后得到的汇编语言进行仔细的检查,以确保asm语句在程序中的正确性。 一般而言,当asm语句仅涉及诸如控制中断寄存器等硬件操作时,使用优化是比较安全的。 (3)可以使用volatile关键字避免优化 对于下例这样的语句: unsigned int *data; while( *data !=4); 由于*data是一个循环不变的表达式,因此这个循环将被优化为一个存储器读指令。 为 了避免这样的优化,需要将data定义为volatile,例如: volatile unsigned int *data; 做了这样的定义后,优化器就不再对上述语句进行优化了。 一般在reg.h中定义的寄存器地址都定义为vo1atile,例如: #define IMR (volatile unsigned int *)0x0

文档评论(0)

1亿VIP精品文档

相关文档