sublime text3 安装ctags

在公司看代码,都是source insight和sublime text一起用的,前者看代码,后者b

2014-11-07 23:25:14

阅读数:24947

评论数:2

linux获取系统启动时间

1、前言   时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同。linux内核里面用一个名为jiffes的常量来计算时间戳。应用层有time、getdaytime等函数。今天需要在应用程序获取系统的启动时间,百度了一下,通过sysinfo中的uptime可以计算出系...

2014-09-11 19:52:22

阅读数:2567

评论数:0

Linux串口编程详解

串口本身,标准和硬件 ? 串口是计算机上的串行通讯的物理接口。计算机历史上,串口曾经被广泛用于连接计算机和终端设备和各种外部设备。虽然以太网接口和USB接口也是以一个串行流进行数据传送的,但是串口连接通常特指那些与RS-232标准兼容的硬件或者调制解调器的接口。虽然现在在很多个人计算机上,原...

2014-05-14 09:21:06

阅读数:28758

评论数:2

从select的一个死循环谈epoll的ET模式

最近写程序遇到一个问题,就是发现select监听标准输出的时候遇到了死循环,具体程序如下程序一。程序的意图是每当用户在控制台有任何输入,就输出”hello world!”。 程序一: #include  #include  #include  #include  int  mai...

2014-05-14 09:06:53

阅读数:803

评论数:0

多层目录Makefile

今天结合网上的一个例子,自己写了一个可适用于多层目录的Makefile。 ARCH= armv5l-linux- CC= $(ARCH)gcc LD = $(ARCH)ld AS = $(ARCH)as CPP = $(ARCH)g++ AR = $(ARCH)ar ...

2014-02-18 16:35:46

阅读数:1993

评论数:0

Linux环境变量的设置和查看方法

1. 显示环境变量HOME   $ echo $HOME   /home/redbooks   2. 设置一个新的环境变量hello   $ export HELLO="Hello!"   $ echo $HELLO   Hello!   3. 使用env命令显示...

2014-02-18 16:32:14

阅读数:526

评论数:0

SO_BINDTODEVICE 套接口选项

1. 起因 事情的起因是我准备用两个CDMA modem来拓展点对点连接的带宽,并且希望藉此实现两个modem之间的负载均衡。但是不幸的是,联通公司的接入设备不支持Multilink-PPP。于是,没有办法,我只好自己来实现负载均衡。实现负载均衡的办法有几种,网络上给出的一种办法是采用iprou...

2014-02-07 16:46:55

阅读数:1039

评论数:0

适用于多级目录的Makefile(还没试试,改天用了如果有问题,再修改)

开发中常常有这样的需求:一个不算简单的目录结构,需要一个统一的Makefile来进行编译管理。这时候最简单的做法就是遍历--搜罗所有的头文件和代码文件,使用统一的规则gcc -Ixx -o *.o *.c然后打扫战场,处理尸体;最标准的做法就是在每个子目录下编程时随手加上Makefile, 然后再...

2014-01-28 16:57:22

阅读数:779

评论数:0

如何编写一个可靠的linux守护进程

linux服务端程序都需要提供7 * 24不间断的服务,如何保证工作进程一直不退出或者不被kill掉,常见的方法就是启动一个守护进程来检测工作进程的状态,如果发现工作进程退出,就再fork一个出来。一般的实现见下面一段代码: C代码   // 守护进程(父进程)  int ...

2014-01-08 18:58:33

阅读数:1065

评论数:0

处理僵尸进程导致的后遗症

前段时间需要僵尸进行,通过在程序中调用   signal(SIGCHLD, SIG_IGN);   搞定啦。   但是,这么一来导致了好多问题。比如,通过system()函数调用什么命令时,明明命令正常执行了,system函数却返回-1.等等类似的问题。waitpid也会出错。分析了一下,应该是对...

2013-12-12 16:16:53

阅读数:769

评论数:0

linux out of memory分析

Linux Out-of-Memory(OOM) Killer       Linux有一个特性:OOM Killer,一个保护机制,用于避免在内存不足的时候不至于出现严重问题,把一些无关的进程优先杀掉,即在内存严重不足时,系统为了继续运转,内核会挑选一个进程,将其杀掉,以释放内存,缓解内...

2013-12-04 12:10:05

阅读数:659

评论数:0

僵尸进程

工作中,一个模块出现了僵尸进程,大致一看应该是system调用引起的。搜了一下僵尸进程的处理。 一、僵屍進程的産生 当子进程比父进程先运行结束,而父进程没有回收子进程的时候,子进程将成为一个僵尸进程。如果父进程先退出,子进程被init接管,子进程退出后init会回收,就没事了。 ...

2013-11-15 10:55:02

阅读数:825

评论数:0

UNIX Domain Socket IPC(转)

socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需...

2012-11-08 22:23:55

阅读数:466

评论数:0

socket IPC(转)

socket IPC与一般网络通信一致,也有两种类型sock_stream 和sock_daram不同的地方在于: 1.网络通信server端以IP/Port作为服务名,IPC则以socket文件路径名作为服务名,socket文件与一般文件不同,socket文件是在程序运行时创建,而不能手动...

2012-11-08 22:19:21

阅读数:609

评论数:0

Git使用

工作需要,研究了一段时间的git。   至于什么是index,是什么是working base, 什么是commit完了的东东,这些就不谈了。   只是将一些常用命令给记下来,方便以后参考。 1.基本操作 $git init   #初始化一个代码库 $git add . #将...

2012-11-03 22:06:22

阅读数:1630

评论数:0

Git的Patch功能(转)

UNIX世界的软件开发大多都是协作式的,因此,Patch(补丁)是一个相当重 要的东西,因为几乎所有的大型UNIX项目的普通贡献者,都是通过 Patch来提交代码的。作为最重要的开源项目之一,Linux,也是这样的。普通开发者从软件仓库clone下代码,然后写入代码,做一个Patch, 最后用E-...

2012-11-03 21:22:25

阅读数:537

评论数:0

谁说vim不是IDE(转)

Vim以简洁的方式提供了丰富的配置功能,主要配置体系由一个文件和文件夹组成。在一台安装了Vim的OS X/Linux/Unix机器上,进入用户主目录,可以找到.vimrc文件和.vim文件夹,这就是Vim所有的配置信息。 (1).vimrc介绍 用户目录下的.vimrc文件就是Vim针...

2012-11-03 21:18:53

阅读数:726

评论数:0

Linux中brk(),sbrk(),mmap(),malloc(),calloc()的异同

brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的:        每个进程可访问的虚拟内存空间为3G,但在程序编译时,不可能也没必要为程序分配这么大的空间,只分配并不大的数据段空间,程序中动态分配的空间就是从这一块分配的。如果这块空间不够,malloc函数族(...

2012-05-18 19:14:33

阅读数:2688

评论数:1

Linux内核一个模块调另一个模块的函数

前几天,需要在一个内核模块A中添加一个新功能。这个新功能用到了另一个内核模块B中的函数C。我将相关的头文件include之后,加载A模块时,总是出错,说用到的那个函数C找不着。   怎么回事?以前没接触过内核编程的,找了个小牛问了一下,原来是Linux2.6内核不会自动的将非static 函数和...

2011-11-12 14:02:29

阅读数:4477

评论数:0

IO端口和IO内存

驱动程序编写过程中,很少会注意到IO Port和IO Mem的区别。虽然使用一些不符合规范的代码可以达到最终目的,这是极其不推荐使用的。 结合下图,我们彻底讲述IO端口和IO内存以及内存之间的关系。主存16M字节的SDRAM,外设是个视频采集卡,上面有16M字节的SDRAM作为缓冲区。 ...

2011-10-27 22:25:17

阅读数:646

评论数:0

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