自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

rex,nie的专栏

markdown

  • 博客(9)
  • 收藏
  • 关注

原创 C中的总线错误和段错误

最近写了个基于linux的日志系统,中途遇到了两个错误: bus error(core dumped)和segmentation fault(core dumped)。 这两个错误非常的折磨人,错误信息对引起这两种错误的源代码错误并未作简单的解释,上面的信息并未提供如何从代码中寻找错误的线索。所以往往很难定位到具体出错在哪里。大多数的问题都出于这样一个事实:错误就是操作系统(OS)所检测到...

2018-05-20 01:36:08 1699

原创 有用的C语言工具

用于检查源代码的工具 工具 工具简要说明 参考链接 indent linux下代码格式化工具 Linux 代码格式化工具 indent astyle 一个开源的代码格式化工具,可美化C,C++,C++/CLI,Objective‑C,C#,Java等各种语言,还可集成到IDE,强烈推荐 Astyle:代码格式化工具简明指南 Linux下C/C...

2018-05-20 01:35:27 1091

原创 理解C语言声明的优先级规则

C语言的声明有时会很长,让人感到恐惧。这里描述了一种方法,用通俗的语言把声明分解开来,分别解释各个组成部分。理解C语言声明的优先级规则的步骤声明从它的名字开始读起,然后按照优先级顺序依次读取。优先级从高到低依次是:声明中被括号括起来的那部分后缀操作符: 括号()表示这是一个函数, 方括号[]表示这是一个数组前缀操作符:星号*表示“指向…的指针”如果const和(或)...

2018-05-20 01:34:35 369

原创 C语言常被搞错的运算符优先级

C语言的运算符有优先级和结合性两个属性,而且相同的符号存在复用的情况,所以很容易造成错误。这里有个建议,多给表达式加上括号,可以提高代码的可读性和减少错误的发生。C语言运算符优先级存在的问题 优先级问题 表达式 人们可能误以为的结果 实际结果 .的优先级高于*->操作符用于消除...

2018-05-20 01:27:49 258

原创 C语言中容易混淆的const关键字

const关键字是ANSI标准新增加的关键字。const是个类型限定符,可以和任何类型说明符一起使用,以指定被声明对象的特殊属性。C语言的类型说明符包括: - void - char - short - int - long - float - double - signed - unsigned - 结构体说明符 - 联合体说明符 - 枚举说明符 - 类型定义名co...

2018-05-20 01:24:02 287

原创 对C语言中无符号类型的建议

算术类型转换首先给出一段C代码:int main(void){ if (-1 < (unsigned char)1) printf("true, ANSI C semantics\n"); else printf("false, K&R C semantics\n"); return 0;}这段程序分别在AN...

2018-05-20 01:22:38 355

原创 C语言版本迭代

和大多数编程语言一样,C语言版本迭代过程也经历了诞生,到被关注,被广泛使用,必须标准化,最后普及的过程。《C专家编程》一书有介绍C语言诞生及K&R C,ANSI C,ISO C等标准化的一些故事,有兴趣的可以去看看。作为程序员,我关心的是版本的标准迭代。1978年,C语言经典名著The C Programming Language出版了,该版本描述的C受到了广泛使用,被称为K&am...

2018-05-05 23:25:51 796

原创 ANSI C定义的一些关于可移植性的术语说明

ANSI C标准定义了一些术语,用于描述某种编译器的特点。对这些术语有一个比较好的了解,对于提供代码的可移植性和错误的排查都有帮助的。不可移植的代码(unportable code)由编译器定义的(implementation-defined): 由编译器设计者决定采取何种行动,也就是说在不同的编译器中所采取的行为可能并不相同,但是它们都是正确的。每个编译器的文档会给出具体的行为方式。...

2018-05-05 17:35:44 252

原创 FreeRTOS IPC总结

createreceive/takesend/give/releasequeue_lenxItemSizeuxMessageWaitingwhen initBASExQueueCreatexQueueCreateStaticxQueueReceivexQueueReceiveFromISRxQueueSen

2018-05-03 09:17:13 1118

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除