打印

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

[复制链接]
3404|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bhsdlmj|  楼主 | 2009-9-21 11:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
bhsdlmj|  楼主 | 2009-9-21 12:15 | 只看该作者
请编一个不用violate导致程序出错的具体例子

使用特权

评论回复
板凳
inter_zhou| | 2009-9-21 12:18 | 只看该作者
const  不变的,一般用于定义表格   相当于code
violate 易变的,不被优化的
不知道对不对

使用特权

评论回复
地板
bhsdlmj|  楼主 | 2009-9-22 08:02 | 只看该作者
关键之大家用的多不多?:dizzy:

使用特权

评论回复
5
yewuyi| | 2009-9-22 08:40 | 只看该作者
violate的问题主要看你的代码怎么写,用别的办法饶开也可以不用violate,但你应该需要知道violate的含义所在。

使用特权

评论回复
6
常来21IC| | 2009-9-22 09:15 | 只看该作者
我也想知道2楼的答案....

使用特权

评论回复
7
yewuyi| | 2009-9-22 11:43 | 只看该作者
呵呵,2楼的要求根本不要例子,用脚指头想也应该能明白。。。

使用特权

评论回复
8
mingchong| | 2009-9-22 14:15 | 只看该作者
基本上都很少用到,常用static

使用特权

评论回复
9
itelectron| | 2009-9-22 15:29 | 只看该作者
violate 定义的 变量 运行时 每次都要重新 读 内存的数据 而不是读内存的拷贝
可移植性强.   用在IO映射的多?
呵呵胡说一通  其实偶也不太清楚!

使用特权

评论回复
10
zq1987731| | 2009-9-22 17:27 | 只看该作者
给GPIO口一个16位的输出一组序列,如果你的GPIOC指向了PC口的输出,但没加volatile关键字
你认为从“聪明”的编译器角度看来,下面2段代码有什么区别?
===========================================================
第一段:
GPIOC = 0x1234;
GPIOC = 0x4321;
GPIOC = 0xABCD;
===========================================================
第二段:
GPIOC = 0xABCD;
===========================================================
解决方法..要么加上volatile,要么关闭编译器的优化功能

使用特权

评论回复
11
大道至简| | 2009-9-24 15:21 | 只看该作者
大家写程序经常用const么?
还有violate,大家经常使用么?

C++我常用const
C一般我用#define
violate 比较少用。static倒是在单片机里面用的很多

使用特权

评论回复
12
SkyCode| | 2009-9-24 17:15 | 只看该作者
const 声明一个常量,程序过程中不能修改,放在单片机的rom中
v则是防止编译器优化掉,这个变量

使用特权

评论回复
13
bhsdlmj|  楼主 | 2009-9-28 14:20 | 只看该作者
看出来了 voilate大家用的还是不多啊!!! 我也用static有时!!!

const干脆就很少用!!

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

violate我一定要用的很好很好!!因为这很重要1

使用特权

评论回复
14
mohanwei| | 2009-9-28 15:01 | 只看该作者
应该是volatile吧?看来发贴回帖还是拷贝粘贴的多……

使用特权

评论回复
15
yoookr| | 2009-9-28 15:31 | 只看该作者
volatile正确!

使用特权

评论回复
16
wlq_9| | 2009-9-28 16:11 | 只看该作者
写单片机程序const是灰常灰常的经常出现.
define能代替const?static能代替const?.......严重怀疑LS多位是否是写单片机程序的.

volatile看情况使用,使用相对较少.但是如果不知道这个东西的存在,也不正常.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

351

帖子

0

粉丝