不常用这两个关键字就是菜鸟?大家说说看/ / /'

[复制链接]
4580|15
 楼主| bhsdlmj 发表于 2009-9-21 11:54 | 显示全部楼层 |阅读模式
IO, vi, TE, ST
大家写程序经常用const么?
还有violate,大家经常使用么?

我见过定义IO时候用violate的,请问

const和violate都用在什么场合?
 楼主| bhsdlmj 发表于 2009-9-21 12:15 | 显示全部楼层
请编一个不用violate导致程序出错的具体例子
inter_zhou 发表于 2009-9-21 12:18 | 显示全部楼层
const  不变的,一般用于定义表格   相当于code
violate 易变的,不被优化的
不知道对不对
 楼主| bhsdlmj 发表于 2009-9-22 08:02 | 显示全部楼层
关键之大家用的多不多?:dizzy:
yewuyi 发表于 2009-9-22 08:40 | 显示全部楼层
violate的问题主要看你的代码怎么写,用别的办法饶开也可以不用violate,但你应该需要知道violate的含义所在。
常来21IC 发表于 2009-9-22 09:15 | 显示全部楼层
我也想知道2楼的答案....
yewuyi 发表于 2009-9-22 11:43 | 显示全部楼层
呵呵,2楼的要求根本不要例子,用脚指头想也应该能明白。。。
mingchong 发表于 2009-9-22 14:15 | 显示全部楼层
基本上都很少用到,常用static
itelectron 发表于 2009-9-22 15:29 | 显示全部楼层
violate 定义的 变量 运行时 每次都要重新 读 内存的数据 而不是读内存的拷贝
可移植性强.   用在IO映射的多?
呵呵胡说一通  其实偶也不太清楚!
zq1987731 发表于 2009-9-22 17:27 | 显示全部楼层
给GPIO口一个16位的输出一组序列,如果你的GPIOC指向了PC口的输出,但没加volatile关键字
你认为从“聪明”的编译器角度看来,下面2段代码有什么区别?
===========================================================
第一段:
GPIOC = 0x1234;
GPIOC = 0x4321;
GPIOC = 0xABCD;
===========================================================
第二段:
GPIOC = 0xABCD;
===========================================================
解决方法..要么加上volatile,要么关闭编译器的优化功能
大道至简 发表于 2009-9-24 15:21 | 显示全部楼层
大家写程序经常用const么?
还有violate,大家经常使用么?

C++我常用const
C一般我用#define
violate 比较少用。static倒是在单片机里面用的很多
SkyCode 发表于 2009-9-24 17:15 | 显示全部楼层
const 声明一个常量,程序过程中不能修改,放在单片机的rom中
v则是防止编译器优化掉,这个变量
 楼主| bhsdlmj 发表于 2009-9-28 14:20 | 显示全部楼层
看出来了 voilate大家用的还是不多啊!!! 我也用static有时!!!

const干脆就很少用!!

以后这些关键字很重要!!

violate我一定要用的很好很好!!因为这很重要1
mohanwei 发表于 2009-9-28 15:01 | 显示全部楼层
应该是volatile吧?看来发贴回帖还是拷贝粘贴的多……
yoookr 发表于 2009-9-28 15:31 | 显示全部楼层
volatile正确!
wlq_9 发表于 2009-9-28 16:11 | 显示全部楼层
写单片机程序const是灰常灰常的经常出现.
define能代替const?static能代替const?.......严重怀疑LS多位是否是写单片机程序的.

volatile看情况使用,使用相对较少.但是如果不知道这个东西的存在,也不正常.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

351

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部