摘要: C语言编程技巧关于const和#define的区别尽量用const和inline而不用#define这个条款最好称为:“尽量用编译器而不用预处理”,因为#define经常被认为好象不是语言本身的一部分。这是问题之一。再看下面的语句:#define ASPECT_RATIO 1.653编译器会永远也看不到ASPECT_RATIO这个符号名,因为在源码进入编译器之前,它会被预处理程序去掉,于是ASPECT_RATIO不会加入到符号列表中。如果涉及到这个常量的代码在编译时报错,就会很令人费解,因为报错信息指的是1.653,而不是ASPECT_RATIO。如果ASPECT_RATIO不是在你自己写的头 阅读全文
posted @ 2013-02-21 10:10 最轻 阅读(228) 评论(0) 推荐(0) 编辑
摘要: C语言编程技巧volatile的用法volatile的本意是“易变的” EETOP专业博客---电子工程师自己的家园!~XP0Z,|Rz[#p‑~M7p e6W{5d#k'^0由于访问寄存器的速度要快过RAM,所以编译器一般都会作减少存取外部RAM的优化。比如:EETOP专业博客---电子工程师自己的家园9x+Q%ww_static int i=0;jt[1]Y/WV5y1t0EETOP专业博客---电子工程师自己的家园$`7@(jC/w7G0hfint main(void)EETOP专业博客---电子工程师自己的家园'C,yk@4x U­M+]{ ,Q,]( 阅读全文
posted @ 2013-02-21 10:01 最轻 阅读(255) 评论(0) 推荐(0) 编辑