rex,nie的专栏

markdown

排序:
默认
按更新时间
按访问量

C中的总线错误和段错误

最近写了个基于linux的日志系统,中途遇到了两个错误: bus error(core dumped)和segmentation fault(core dumped)。 这两个错误非常的折磨人,错误信息对引起这两种错误的源代码错误并未作简单的解释,上面的信息并未提供如何从代码中寻找错误的线索。...

2018-05-20 01:36:08

阅读数:34

评论数:0

有用的C语言工具

用于检查源代码的工具 工具 工具简要说明 参考链接 indent linux下代码格式化工具 Linux 代码格式化工具 indent astyle 一个开源的代码格式化工具,可美化C,C++,C++/CLI,Objective‑C,C#,Java...

2018-05-20 01:35:27

阅读数:78

评论数:0

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

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

2018-05-20 01:34:35

阅读数:22

评论数:0

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

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

2018-05-20 01:27:49

阅读数:22

评论数:0

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

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

2018-05-20 01:24:02

阅读数:19

评论数:0

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

算术类型转换 首先给出一段C代码: int main(void) { if (-1 < (unsigned char)1) printf("true, ANSI C semantics\n"); el...

2018-05-20 01:22:38

阅读数:20

评论数:0

C语言版本迭代

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

2018-05-05 23:25:51

阅读数:19

评论数:0

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

ANSI C标准定义了一些术语,用于描述某种编译器的特点。对这些术语有一个比较好的了解,对于提供代码的可移植性和错误的排查都有帮助的。 不可移植的代码(unportable code) 由编译器定义的(implementation-defined): 由编译器设计者决定采取何种行动,也就是说...

2018-05-05 17:35:44

阅读数:17

评论数:0

FreeRTOS IPC总结

create receive/take send/give/release queue_len xItemSize uxMessageWaiting when init BASE xQueueCreate xQueueCreateStatic ...

2018-05-03 09:17:13

阅读数:11

评论数:0

各种屏幕分辨率列表

各种屏幕分辨率列表 序号 显示模式代码 水平×垂直象素 比例 说明 1 QQCIF 88×72 11:9 QuarterQuantum CIF 2 ...

2018-04-27 17:47:10

阅读数:189

评论数:0

《HeadFirst设计模式》读书笔记-第9章v3-组合迭代器

定义 组合迭代器不是一个设计模式,是指如何在组合中使用迭代器。所以本章的代码是基于《HeadFirst设计模式》读书笔记-第9章v2-组合模式 修改过来的,需要先熟悉组合模式。 代码实现 首先在MenuComponent接口中增加一个方法 public abstract I...

2018-04-15 19:01:45

阅读数:15

评论数:0

《HeadFirst设计模式》读书笔记-第9章v2-组合模式

定义 组合模式(composite pattern)允许你将对象组合成树形结构来表现“整体/部分“层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。 代码实现 本章使用组合模式来实现下图的树状菜单。 首先为菜单和菜单项创建一个共同的接口作为组件接口,让我们能够用统一的...

2018-04-15 10:45:01

阅读数:43

评论数:0

camera sensor readout position(flip/mirror)

预览过程:景物(sence)通过镜头(lens)生成的光学图像投射到图像传感器(sensor)上, 图像以pixel为单位通过MIPI/DVP接口传输到VFE,经过external memory,最后经过MDP 然后将图片显示到屏上。偶尔会出现这样情况:在屏上显示的图像方向不对。 ...

2018-03-19 19:39:44

阅读数:14

评论数:0

Aptina MT9M114 1.26M camera spec 学习

MT9M114是出自ON半导体公司的CMOS (CMOS与CCD的区别) digital image sensor, active-pixel array是1296 (H) × 976 (V)=1.26Mp. 关键参数 Parameter Typical Value...

2018-03-19 19:36:28

阅读数:40

评论数:0

Bayer Pattern

在刚加入工作的时候,听到最多的就是RGGB Bayer Pattern。在之前的接触中,一直默认一张图片的每个像素点有RGB三个分量,那“RGGB Bayer Pattern”究竟是什么意思。在网上查找资料以后发现这其实也是非常简单的概念。以下内容大部分为翻译,结合“CCD工作原理教程(V1.2)...

2018-03-16 14:55:24

阅读数:15

评论数:0

这三个普通程序员,几个月就成功转型AI,他们的经验是...

动辄50万的毕业生年薪,动辄100万起步价的海归AI高级人才,普通员到底应不应该转型AI工程师,普通程序员到底应该如何转型AI工程师? 以下,AI科技大本营精选了三个特别典型的普通程序员成功转型AI的案例,也是知乎上点赞量相当高的案例: 第一案例为普通程序员,经...

2018-03-11 10:59:12

阅读数:28

评论数:0

Linux 内核的并发和竞态

1. 并发的原因 并发可能会导致竞态(race condition),竞态会导致对共享资源的非控制访问, 产生非预期的结果。Linux的并发来源于下面几个方面: 正在运行的多个用户进程以无法预知的方式访问驱动程序代码 外部设备的中断异步的发生,导致正在运行的进程或者驱动代码被中断 linux...

2018-03-02 22:34:38

阅读数:21

评论数:0

Linux对I/O端口资源的管理

Linux对I/O端口资源的管理 摘要   本文主要从内核实现的角度分析Linux 2.4.0内核IO子系统中对IO端口资源的管理的实现原理。本文是为那些想要深入分析Linux的IO子系统的读者和设备驱动程序开发人员而写的。(2002-10-08 14:14:05) By 阿开 ...

2018-02-27 09:23:53

阅读数:38

评论数:0

module_init解析及内核initcall的初始化顺序

module_init这个函数对做驱动的人来说肯定很熟悉,这篇文章用来跟一下这个函数的实现。 在include/linux/init.h里面有module_init的定义,自然,因为一个module可以在内核启动时自动加载进内核,也可以由我们手动在需要时加载进内核,基于这种场景,内核使用了MOD...

2018-02-26 20:27:02

阅读数:44

评论数:0

符合JEITA规范的锂离子电池充电器解决方案

符合JEITA 规范的锂离子电池充电器解决方案   作者:钱金荣 (Jinrong Qian),德州仪器 (TI) 高级便携式产品电池充电管理部门经理   引言 在高温下过充电时,锂离子 (Li-ion) 电池往往会变得很危险。对这些电池安全充电,已经成为电池供电的便...

2018-02-25 18:29:33

阅读数:42

评论数:0

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