fork 和 vfork 使用的注意事项和 system() 函数的替代

2016-07-07
阅读 2 分钟
8.8k
在Linux编程中,我们经常使用 Fork()。然而不少情况下,fork是有危险的。但是又不能简单使用vfork替换就成了。这个笔记说明了两者使用的一些注意点。本文地址:[链接]

Ubuntu Linux 安装后,建立嵌入式开发环境

2016-07-06
阅读 2 分钟
6.5k
现在越来越多的Linux编译环境改用Ubuntu。说实话我也不太了解为啥,但是供应商推荐了,我也当然要随大流。Ubuntu的root就和RedHat系列不同了,要登录root账户,现在麻烦很多。这也好,强制用户养成不要以root登录的习惯。

RedHat 系列 Linux 安装后,建立嵌入式开发环境

2016-07-05
阅读 2 分钟
4.1k
做开发的时候,经常为了某系列的项目,专门就搞一个虚拟机,安装RHEL、Fedora、CentOS之类的进行开发。因为是虚拟机,也经常使用root账户就直接上了。

./configure常用参数

2016-07-05
阅读 2 分钟
8.5k
--prefix=PREFIX把所有文件安装在PREFIX中而不是默认的路径(如 /usr/local/xxx 中)。默认是"/"或者是"/usr/local"等等。。以下还有部分参数细化 PREFIX 的其它目录

Libevent 官方文档学习笔记(3. evbuffer部分)

2016-07-04
阅读 6 分钟
9.7k
本文地址:[链接]  Evbuffers: 缓冲化的I/O实用工具  头文件:<event2/buffer.h> Evbuffer基本操作 {代码...} 创建/销毁evbuffer {代码...} 第一个函数,参数locking传入的参数是一个锁。可以传入NULL,让evbffer自动创建一个锁。 {代码...} 第一个函数,获取当前evbuffer的总数据长度。第二个函数,由于数据在e...

Linux shell 中删除文件的所有换行符

2016-06-08
阅读 1 分钟
15.9k
需要做一个小功能,就是把一个文本文件中的所有换行符都去掉。一般肯定是想到使用sed来修改啦。但是我搜了一下,并没有找到sed要怎么输入\n——我知道^M对应的是\r,但是\n却失败了,在命令行中直接被切割掉。  原则上可以用\015这样的方式来指定的,但是我实际操作发现并不行,没有效果。所以最终我只能用直接输入命令...

Libevent 官方文档学习笔记(2. bufferevent部分)

2016-05-31
阅读 8 分钟
16.3k
evutil_socket_tSocket的抽象。除了Windows之外,其他系统都是一个int类型。如果考虑Windows的兼容性的话,建议用这个类型。

Libevent 官方文档学习笔记(1. libevent_core部分)

2016-05-30
阅读 9 分钟
23.9k
初入libevent的人,很可能是第一次接触异步编程。Libevent的编程思想,建议还是多看前人的程序,或者是看libevent本身的文档学习。或者是介绍另外一个库,那就是libuv,它是libev某种意义上的的替代品(而libev又可以算是libevent的某种替代品笑)。libuv的文档我记得也有对异步编程的介绍。好了,这不是本文的内容。

Linux内核定时器简单使用

2016-05-27
阅读 2 分钟
9.9k
Timer是Linux内核的一种软中断,被调用函数是异步执行的。由于是软中断,所以函数被执行的时候是处于非进程的上下文中,所以有以下规则需要遵守:

Linux内核自旋锁使用笔记

2016-05-26
阅读 1 分钟
8.7k
首先,spinlock是一把锁,它的功能与其他锁的作用类似,都是对用于临界区进行原子读写。使用这把锁时,原理上就是不停的循环检查锁的状态,直到可用的时候进入临界区。

OS X 下在代码中枚举所有进程的方法

2016-05-26
阅读 2 分钟
4k
在OS X开发中,有时候需要枚举所有的进程以查询某些你需要查询的进程,比如协作进程之类,或者是了解某些进程的状态。但是貌似并没有直接简单的获取这些信息的method,所以需要使用别的方法

在C程序中按照你想要的格式输出时间:strftime()

2016-05-25
阅读 1 分钟
7.9k
以下列出全部的格式化字符,但只说明我自己用到的哈。需要用到的建议大家自行写程序测试一下。年份:%C:%g:%G:%y:不带世纪的十进制年份,即0~99%Y:带世纪的十进制年份

U-boot两个修改:ARP支持和UDP校验支持

2016-05-25
阅读 3 分钟
4.7k
正如上一篇文章所说,需要对U-boot的UDP做一些小修改。本文地址:[链接] ARP支持 原文件:文件net.c的NetReceive()函数 代码位置:搜索“case ARPOP_REPLY:”行并且找到其return;语句。 修改:#ifdef CONFIG_NETCONSOLE以下修改为: {代码...} 注:NetArpWaitDPort和NetArpWaitSPort都是新定义的全局变量。当然,也需要在N...

U-Boot中添加自定义网络通信的方法

2016-05-24
阅读 3 分钟
7.1k
U-boot没有TCP协议栈,不支持TCP(提出要在U-boot里面支持基于TCP的协议的项目经理你给我出去)。但是UDP还是有的。使用U-boot配合UDP可以做很多底层的功能。甚至我们规划在生产的时候使用U-boot来烧写Nand-Flash呢。

Linux 内核中 Kconfig 文件的作用和添加 menuconfig 项的方法

2016-05-23
阅读 1 分钟
7.5k
Kconfig就是服务于menuconfig的一个配置文件。在对应目录下配置Kconfig文件,就是在配置对应的menuconfig项目。有很多种配置方式,这里我暂时只是给一种简单的,也就是yes和no的方式。比如我新添加了一个配置,写了一个电机驱动设备:

Linux fdisk 命令简单使用方法

2016-05-23
阅读 1 分钟
6.7k
比如在/dev中有一块新的硬盘sde,那么我们就可以用fdisk /dev/sde来查看磁盘状态进入了fdisk命令列表之后,会先把磁盘的基本信息打印出来。输入m可以看到全部的命令列表。可以使用p查看当前的磁盘分区情况。本文地址:[链接]

iOS 官方文档笔记:About iOS App Programming(iPhone应用程序编程指南)

2016-05-20
阅读 2 分钟
2.7k
用户程序里面包含了一个标准的main()函数,这个函数里面的代码应该是最小程度地使用,要么就不改。main()函数做的事情有两个:1、创建自动释放池(autoreleasepool)2、调用UIApplicationMain()