网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> 技术文库 >> 嵌入式 >> 文章正文
  我对register unsigned char temp asm("r2")看法           ★★★ 【字体:
我对register unsigned char temp asm("r2")看法
作者:61IC录入    文章来源:本站原创    点击数:    更新时间:2006-4-7    

WinAVR中avr-libc说明书写着如题固定寄存器C语言的使用声明方法,首先我做了实验:像普通变量一样在C文件中定义,在头文件声明,编译器报错,但在头文件定义则通过,我guess如题所写应是一种声明,而不是一种定义.

前几天有人在坛子里发帖使用此等方法教人写RTOS,在下好不羡慕.回头我就在本人移植的small RTOS for AVR中试用,结果用此种方法哪怕只少保护一个寄存器就引发崩溃.

事后我在想,C编译器有大量的库函数,在实际编译C源文件之后,还要大量的连接库文件,也就是说只是C语句编译过程中决定不使用register过了寄存器,而连接器没有安排使用哪些寄存器的功能.我没学过编译原理,实际情况是这样的么?

register unsigned char tempR2("R2");
这样声明之后,我就在任务切换是不保存R2,实际上我这样做出错了!

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号