不同C编译器注意事项

来源:本站
导读:目前正在解读《不同C编译器注意事项》的相关信息,《不同C编译器注意事项》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《不同C编译器注意事项》的详细说明。
简介:本文介绍了使用不同编译器编写C语言时应该注意的问题。

目前单片机有多种C编译器,不同编译器之间有很多区别。总结后,主要有以下几点,需要弄清楚:

1.寄存器的定义

不少编译器已经自带了寄存器的定义文件,比如AT89S52, 使用KEIL C V2.0 环境, 程序可以直接调用寄存器定义文件。 例如: #i nclude <reg52.h> (顺便讲一下,#i nclude <xxx.h> 与 #i nclude "yyy.h" 的区别,一般前者是指调用编译器系统的文件,而后者是用户自己写的文件), 当然如果没有寄存器定义文件,我们也可以自己去写,这时候就要了解如何去定义寄存器。特别需要注意的是位的定义,有些可以单片机可以直接对寄存器位操作,把位定义出,在写程序时很方便(在定义变量时,如果可以定义位变量,也是很有用的)。

2.编译器系统自带的库函数

了解编译器有哪些库函数,如何使用他们。

3.嵌入汇编

机器毕竟没有人脑聪明,C编译的效果,有时候不是很理想,这时候我们可以嵌入汇编。

4.系统程序的基本配置

有些编译器会自带启动文件,具体内容是设置堆栈,清RAM等,不同编译器不一样,有些编译没有,就需要自己在程序里面加上,另外与之相关的是,开关中断与WDT的写法。

5.中断

有中断我们的程序内容才会丰富多彩,需要知道如何定义一个中断函数和如何实现中断的嵌套。值得注意的是,有些编译器他的中断向量表也是需要我们自己去做的,还需要了解如何去定义一个中断向量表。

6.最后需要注意是的变量与常量,程序的段的定义。这里重要的是变量的定义,在某些情况下,定义在RAM中的变量不是开机后都需要清零的,就需要分别定义在不同的变量段中。

提醒:《不同C编译器注意事项》最后刷新时间 2024-03-14 01:03:27,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《不同C编译器注意事项》该内容的真实性请自行鉴别。