使用 sigprocmask 和 sigpending 在程序正文中捕获和处理信号

2017-04-20
阅读 4 分钟
6.7k
最近在尝试使用 epoll 写一个类似 libevent 的库。那么,如何像 libevent 一样,在 event loop 里加入对信号事件的观测呢?我查了一下资料,一个可行的方法,就是使用 sigprocmask() 及其相关功能来实现啦。

Swift 个人学习笔记 - 09: 属性

2017-03-25
阅读 2 分钟
2.2k
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 本文地址:[链接] Reference: 原版...

Swift 个人学习笔记 - 08: 类和结构体

2017-03-10
阅读 2 分钟
2.6k
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 本文地址:[链接] Reference: 原版...

Swift 个人学习笔记 - 07: 枚举

2017-03-09
阅读 3 分钟
2.2k
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 本文地址:[链接] Reference: 原版...

Swift 个人学习笔记 - 06: 闭包(Clousures)

2017-03-01
阅读 2 分钟
2.9k
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 本文地址:[链接] Reference: 原版...

Swift 个人学习笔记 - 07: 函数

2017-02-23
阅读 3 分钟
2.8k
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 本文地址:[链接] Reference: 原版...

Swift 个人学习笔记 - 06: 控制流

2017-02-22
阅读 3 分钟
2.6k
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 本文地址:[链接] Reference: 原版...

Swift 个人学习笔记 - 05: 集合类型(Array, Set, Dictionary)

2017-02-22
阅读 2 分钟
4.2k
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 本文地址:[链接] Reference: 原版...

嵌入式编程中应如何使用 mmap 访问 CPU 寄存器

2017-02-17
阅读 2 分钟
7k
之前忘了在哪了,看到一个面试题:在 Linux 中如果不允许你写内核驱动,但是要访问内核寄存器,那应该怎么做?答案就是使用 mmap() 系统调用,搭配 Linux 的一个设备节点 /dev/mem。

Swift 个人学习笔记 - 04: 字符串和字符

2017-02-16
阅读 3 分钟
2.9k
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 本文地址:[链接] Reference: 原版...

Git 使用集

2017-02-16
阅读 5 分钟
3.6k
本文是本人在学习和使用 Git 过程中的一些记录。以备查阅。随时更新。本文地址:[链接] 另外推荐我的另一个 Git 文章:实际操作 Svn 迁移到 Git Reference git使用详细介绍使用 Git 管理源代码实际操作 Svn 迁移到 Gitgit rebase简介(基本篇) git merge和rebase的区别git 撤销commitGit修改已经提交的注释或日志为 Git ...

Swift 个人学习笔记 - 03: 基本运算符

2017-01-11
阅读 1 分钟
3.5k
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 Reference: 原版:The Swift Progra...

Swift 个人学习笔记 - 02: 基础内容

2017-01-08
阅读 2 分钟
2.6k
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 Reference: 原版:The Swift Progra...

Swift 个人学习笔记 - 01: A Swift Tour

2016-12-25
阅读 5 分钟
2.5k
本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。 Reference: 原版:The Swift Progra...

正确使用 realloc()

2016-12-02
阅读 2 分钟
16.9k
众所周知,realloc() 的作用就是将已经 malloc 的内存块,重新扩展加长。当你并没有使用高端的内存池的时候,临时从堆中申请加大内存,这是很有用的。但是如何正确地使用 realloc() 呢?

Linux kernel 在 Git 目录和 SVN 目录编译行为不一致的解决方法

2016-10-20
阅读 3 分钟
4.7k
近期把开发从 SVN 迁移到了 Git 上。其实一早就遇到一个问题,那就是 Linux kernel 在 SVN 的版本控制下编译得好好的,但是换成 Git 做版本控制之后,即便是完全一模一样的两套目录树,编译出来就是不一样!

优化 cJSON 库的 array 插入速度

2016-10-17
阅读 3 分钟
6.1k
和参考资料一样,我在我的项目中应用 cJSON 数组功能,发现在创建 array 的时候耗时很厉害(作为嵌入式 CPU,几十个 array 项的插入,居然花了 300ms)。搜了一下,网上已经有人遇到过了,就是参考资料的那篇。本文解释一下优化的思路和方法。

Linux 中 /proc/meminfo 的含义

2016-10-10
阅读 2 分钟
20.4k
做嵌入式开发对内存泄露很敏感,而对泄露的位置更加关注。本文记录一下从网上搜集的/proc/meminfo各参数的含义。还不完整,待补完。 本文地址:[链接] Reference 关于/proc/meminfo的理解linux/Documentation/filesystems/proc.txt 说明 以下项目并不是每一个 Linux 系统上都有的,根据你的 Linux 设计和版本,可能多出...

实际操作 Svn 迁移到 Git

2016-09-29
阅读 3 分钟
31k
最近把一个开发了很久的项目从公司的 svn 服务器迁移到 GitLab 上,折腾了几天。我们的 svn 目录结构不是很标准,所以网上的资料没一个能够照搬用的。Anyway,最后成功了,我这里详细记录一下,供参考。

ZigBee 学习笔记 - 第1章 ZigBee 技术原理(让人抓狂的 ZigBee 缩写列表)

2016-08-29
阅读 3 分钟
10.3k
初学 Zigbee,已经被大量的缩写整崩溃了……一边看书一边记录 Zigbee 协议栈中的缩写列表以及它们出现的位置吧。我看的书是《ZigBee技术开发——Z-Stack协议栈原理及应用》。 本文地址:[链接] 1.2 Zigbee 网络结构 1.2.3 Zigbee 协议架构 SAP:服务接入点,Service Access Point 具体的分层架构: PHY:物理层 MAC:媒体访...

使用 NSURLConnection 的 delegate 处理 http 通信

2016-08-29
阅读 3 分钟
4k
在苹果 Foundation 库里面,提供了一个原生的 HTTP 处理类,那就是NSURLConnection。本文记录了使用这个库的最基本的支持,阅读了苹果官方文档之后的一些笔记。

使用 libev 构建 TCP 响应服务器(echo server)的简单流程

2016-08-23
阅读 2 分钟
15.6k
请注意这是 libev 而不是 libevent 的文章!这篇文章主要是使用具体的例子,说明如何使用 libev。网上不少文章都是照抄示例,一点用都没有……本文将示例的代码精简一下,补上说明;大家都懂的部分就不赘述了。需要完整源码请查看参考资料。

Libev 官方文档学习笔记 - 03:常用 watcher 接口

2016-08-22
阅读 6 分钟
14.9k
这个 watcher 负责检测文件描述符(以下简称fd)是否可写入数据或者是读出数据。最好是将fd设置为非阻塞的。  注意有时候在调用read时是没有数据的(返回0),此时一个一个非阻塞的read会得到EAGAIN错误。

Linux errno 列表

2016-08-16
阅读 7 分钟
6.6k
网上关于 errno 的资料,要么没有错误名,要么没有错误号,要么格式编排混乱……算了,自己记一个吧 本文地址:[链接] 1~16 {代码...} 17~32 {代码...} 33~48 {代码...} 49~64 {代码...} 65~80 {代码...} 81~96 {代码...} 97~112 {代码...} 113~124 {代码...}

嵌入式 Linux 中自定义 reboot / poweroff 行为

2016-08-09
阅读 2 分钟
7.8k
一般拿到一个 Linux SDK 的时候,方案商已经内置了很实用的 busybox,用来执行 poweroff / reboot 命令。但嵌入式开发时,有时需要自定义执行 reboot / poweroff 之后的一些行为。本文就是负责简单易懂地解释如何修改。

Libev 官方文档学习笔记 - 02:watcher 基础

2016-08-08
阅读 3 分钟
11.4k
请注意这是 libev 而不是 libevent 的文章! 这篇文章是第二篇,主要讲 libev 里的 watcher 的一些基础操作。 本文地址:[链接] Watcher 解析 以下是一段示意性的代码,使用的是ev_io: {代码...} 每一个 watcher 类型有一个附属的 watcher 结构体。(一般是struct ev_XXX或ev_XXX)  每一个 watcher 结构都需要用ev_i...

Libev 官方文档学习笔记 - 01:概述和 ev_loop

2016-08-04
阅读 6 分钟
34.8k
自从接触到 libev 之后,就深深赞同作者精简的设计理念,于是就爱上了 libev 这样简单的I/O库。此外,libev 的大小也比 libevent 小得多并且自由得多。虽然我在公司的项目用的异步 I/O 库还是以 libevent 和 libubox 为主,但是个人业余的工程中,往往用的是 libev 而不是 libevent。

Linux shell 的条件 / 比较语法

2016-07-28
阅读 2 分钟
4.4k
Shell 其实并不常写,每次写的时候就总得查一下比较语句的语法该怎么写。本文章就作为笔记记录这些资料吧。本文地址:[链接] Reference Shell数值、字符串比较shell判断和比较《 Linux程序设计(第4版)》 if-else 语法 {代码...} 上面是一个典型的 if-else 语句语法结构。这里的条件是数值比较。保险情况下,注意各种空...

Linux 常用命令用法:cat, find, xargs, tr, grep, cut, sed

2016-07-26
阅读 5 分钟
16.9k
本文列明Linux的常用命令用法,学会了这些命令之后,结合shell编程知识,就可以做各种自动编译/集成的工作啦。本文地址:[链接] Reference 《Linux Shell 脚本攻略》Linux中怎么找出空文件夹? cat:显示、拼接 {代码...} 除了常有的用来显示文件内容之外,cat有两个妙用: 1. 使用 stdin 输入给 cat {代码...} 本例中使...

Google 搜索技巧

2016-07-25
阅读 1 分钟
4.7k
这只是一个简单的笔记,说明一下在使用Google搜索时的一些技巧。Google在手,天下我有! 本文地址:[链接] Reference google搜索技巧新技巧。。。刚刚发现!![转载]如何使用GOOGLE高级搜索技巧 以词组为单位搜索 加上引号" ",引号中的内容就会被当作一个独立的单位去搜寻。这个方法对于英文词组来说特别有用 排除内容 ...