- 积分
- 3553
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2014-11-13
- 精华
|
马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
这个帖子送给没有太多实践经验的人,如果是大神,请跳过
首先 _Bool 是C99新增的一个,用法和bool一样, 如下图: 虽然故意初始化为2,但是下边变量显示的值为1;
然后为什么我要用 volatile 关键字呢?
volatile总是与优化有关,编译器有一种技术叫做数据流分析,分析程序中的变量在哪里赋值、在哪里使用、在哪里失效,分析结果可以用于常量合并,常量传播等优化,进一步可以消除一些代码。但有时这些优化不是程序所需要的,这时可以用volatile关键字禁止做这些优化。
如果我去掉 这个关键字,如下图: (在编译是会显示一个警告,temp 定义了但是未使用),且编译器会将这个变量给优化掉.
之前做项目时,由于牵涉到好几个临时变量的计算, 但是可恶的是有时候编译器会把那几条语句"优化掉",导致程序不正常,
所以有了这个关键字后,妈妈再也不用担心我的优化
|
|