C语言
文章平均质量分 75
bill_20106029
这个作者很懒,什么都没留下…
展开
-
__attribute__机制介绍
1. __attribute__GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)__attribute__前后都有两个下划线,并且后面会紧跟一对原括弧,括弧里面是相应的__attribu转载 2013-08-04 20:20:05 · 883 阅读 · 0 评论 -
精确包含头文件
请注意这里用的是“精确”而不是“正确”,之所以不说正确,那是因为如果头文件没有被正确地包含的话,编译器是不会生成最终的目标代码的。那用精确一词想表达除正确之外的什么意思呢?包含两层意思。第一层意思是,只包含必需的头文件。图1是一个简单的示例程序,先让我们假设这个文件只有foo()一个函数的实现,在foo()函数中也只有简单的一行打印语句。我们知道printf()函数的原型声明来源于标准库的转载 2013-08-11 12:24:34 · 904 阅读 · 0 评论 -
do-while-zero 结构在宏定义中的应用
do while 语句在使用宏定义时是一个有用的技巧,说明如下:假设有这样一个宏定义#define macro(condition) /if(condition) dosomething()现在在程序中这样使用这个宏:if(temp) macro(i);else doanotherthing();一切看起来很正常,但是仔细想想。这个宏会展开成:if(temp)原创 2013-07-11 13:06:01 · 1181 阅读 · 0 评论 -
C语言的inline
一、inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。 表达式形式的宏定义一例: #define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2))为什么要取代这种形式呢,且听我道来: 1. 首先谈一下在C中使用这种形式宏定义的原因,C语言是一个效转载 2013-07-23 17:22:08 · 932 阅读 · 0 评论 -
C语言访问MCU寄存器的三种方式
C语言访问MCU寄存器的三种方式 MCU中的特殊功能寄存器SFR,实际上就是SRAM地址已经确定的SRAM单元,在C语言环境下对其访问归纳起来有3种方法。原创 2015-09-03 14:09:15 · 7881 阅读 · 1 评论 -
C语言逗号运算符和逗号表达式
C语言逗号运算符和逗号表达式在C语言中,逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式。原创 2015-12-19 10:08:44 · 1423 阅读 · 0 评论