自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (5)
  • 收藏
  • 关注

原创 各种排序算法的练习

要准备面试笔试了,很多基础知识需要巩固下。排序和查找是必须要掌握的基础知识,参考链接如下:http://www.cnblogs.com/kkun/archive/2011/11/23/2260312.html代码如下:#include#include#include#include#include#include#include#include#include

2014-08-05 22:52:11 1234

原创 如何手动实现malloc和free

我一直非常关注Linux系统中的内存管理,想了解这一机制的工作过程,断断续续看了几年书,觉得有时候有收获,但是过一段时间就忘记了,让人觉得这个子系统很庞大,无从下手。最近看了很多书,对以malloc为切入点的linux内存管理有了一定的认识,在这里首先将需要的参考资料列出来,稍后手动实现的时候再补上。主要的参考资料有:《深入理解Linux内核》:关于X86的Linux的段页式存储机制(第二章内

2014-07-31 15:00:40 1458

转载 异步通知读取文件操作符的小例子

转自:http://www.verydemo.com/demo_c441_i188495.html#include #include #include #include #include #include #define MAX_LEN 100void input_handler(int num){ char data[MAX_LEN]; int len; //读取并

2014-07-28 21:50:11 980

原创 服务器后台程序的内存使用问题

目前我开发的一个服务器后台程序存在这么一个问题,由于我的程序要不断的收发消息,并做统计,统计用的是stl的多重map,在统计中会不断的往map里赛数据。但是每次统计后我都会调用clear()去释放内存,但是似乎并不奏效,仍然会有泄漏的现象。查资料,map的clear是将map内容清空,但是内存并不归还给系统,而是缓冲在内存池里以方便下次调用,有人提出,可以新建一个map,将两个map做swap操作

2014-07-14 01:07:25 4356

转载 淘宝内核组的一个关于测试机器性能的帖子,很有意思

以前知道http://kernel.taobao.org有人玩cuibeboard,然后我觉得他们看来是不搞硬件相关的,今天重新去扫这个页面,发现一个内核组测试机器性能的帖子,看完之后,不得不承认内核组的技术和积累是非常之高深的,所以拿来转载了。这个帖子主要测试calxeda这个用于服务器的ARM CPU的性能,这点我非常感兴趣。我们团队在确定除自己做的基于ARM-DSP双核的机器人嵌入式主板

2014-07-14 00:44:17 2304

原创 leetcode中,代码如何调试,创造本地运行环境

初次接触leetcode,是我在一个招聘网站上看的,这个OJ真有那么厉害吗?这几天在这个OJ上做了几道题,发现他的几个特点,1、题目不难(相对于ACM来说,我被ACM虐到至今无力),评判没那么苛刻,2、十分基础,从链表、树到动态规划等,都是非常基本非常经典的内容,相当的靠基本功,3、没有本地调试环境,直接在网站上提交,后台评判系统帮你完成程序输入、评判输出的功能,4、国内外业内认可,有很多人都

2014-07-08 21:06:46 28917 3

原创 c/cpp中如何分割字符串,类似于split的功能

C标准库中strtok的使用相关适宜,有关于strtok的非线程安全特质,以及strtok的替代函数strsep的用法

2014-07-08 19:56:09 13895

原创 从系统调用fork,到进程的创建与终止

最近好长时间没有更新博客,终极原因还是懒。

2014-07-02 20:38:59 3948

原创 Linux CPP程序的三种实现定时任务的方法

我的定时任务中的 iostream等会core down,很苦恼。今天发现我的定时任务里cout竟然挂掉了,然后socket的write和read会被阻塞了,好奇怪的事情,redis也阻塞着。然后师傅看了我的程序,认为我的定时任务是使用sigalarm定时,然后在信号中断里做业务,而我的业务太多了,一般他们不在中断中做太多业务,怀疑我的cout、fout或者redisCommand的上下文

2014-03-13 14:58:09 2115

原创 近期重点要巩固的几个知识点,标准输入输出,文件打开关闭,socket与epoll相关

有感于最近开发中遇到的基础性问题,在很多基础问题上犯错,感觉很不应该。基础不牢,地动山摇。比如python通过subprocess调用一个cpp程序,竟然由于cpp程序的标准输出没有及时读出,导致程序卡住,这个问题我竟然没有意识到,需要弄明白这些东西

2014-01-07 15:04:23 1144

转载 linux下判断路径是否存在(文件夹是否存在)

#include#include#include#include#includeusing namespace std;int main(void){ char buff[] = "/home/whc/test2/"; //1 opendir() and closedir DIR *dir=NULL; dir = opendir(buff); if(NULL == dir

2013-12-11 16:41:30 2961

原创 我觉得epoll和select最大的区别

最近在用epoll,网速资料很多,大家都说epoll和select的区别比较大,而且select要不停遍历所有的fd,效率要低,而且fd有限制。但是我认为二者最大的区别在于先看代码  while (1)    {nfds = epoll_wait(epfd, events, 20, 50000);cout if(nfds == -1){perror("e

2013-10-15 20:54:40 1730

转载 链表的实现

要面试了,我很心虚,因为自己总是注重工程上的东西,理论上的,数据结构和算法基本全扔。联想到之前给人讲IP地址分类,脱口而出A类地址是从00000001到11111110分布的,真想抽自己。然后想自己划划链表等简单的实现,却发现连 链表节点的结构体都不会写了,心虚啊。转载代码,简单修改,使之可以在gcc下编译。gcc是不识别bool类型的,或者说ansi c 86标准是没有的,在链接

2013-09-17 10:08:09 853

转载 GRE计划

十七天复习计划:前三天:看我上面的文章,看网上各种介绍,大致看下范文,和心理准备,我给你三天时间去了解G作文到底是怎么回事,和你接下来需要怎样备战。因为我花了十几天的时间才摸着门路,但有我上面的解释,给你三天已经奢侈。接着七天:1)一天背一篇范文,每一类话题背一篇(政治、历史、科学、艺术、人文……),按照你当时的高频顺序。2)同时看我给你整理好的例子集。接着七天:动手写。按照我

2013-09-16 16:31:28 1526

转载 系统编程人员要学会使用管道编程

在看洛杉矶大学的cs635课程课件时,有一个很简单的程序,模仿linux中的cat命令的,链接为:http://cs.usfca.edu/~cruse/cs635/该程序内容为://-------------------------------------------------------------------// mycat.c//// This program shows

2013-07-29 22:36:49 1205

原创 Makefile编译目录下多个文件

今天终于学会了编写makefile,使之可以编译目录下所有c\cpp文件。编译多个c文件一般有两个功能,一个是每个c文件都有main函数,就是说每个c文件的可执行文件是独立的,各自是各自的;第二个是多个c文件用来编译成一个可执行文件。首先说第一个,内容如下,这个makefile是为了编译opencv代码的。CFLAGS= -g -O3 `pkg-config opencv --

2013-06-28 21:31:33 25288

原创 应用FFMPEG和SDL,播放视频文件

使用FFMPEG库进行视频编解码,使用SDL播放视频,代码参考dranger大神的代码。extern "C" {#include "libavformat/avformat.h" #include "libswscale/swscale.h" }#include #include #include #include #include #ifdef

2013-06-08 16:21:11 2312

原创 应用dranger教程使用ffmpeg库从视频中读取图片的示例程序

声明:版权归dranger大神,参考地址为:http://dranger.com/ffmpeg/tutorial01.html, 我只是将教程中不适合0.7版本ffmpeg的api的代码改为可在0.7版本ffmpeg下编译运行的程序,编译环境为:centos 5.9, ffmpeg版本:0.7.15, x264版本:20110627代码如下:// tutorial01.c//

2013-06-07 23:04:26 2717

原创 OpenCV2.4.5在13-04的配置过程

OpenCV 2.4.5编译安装方法需要x264,ffmpeg和opencv2.4.5x264下载地址:ftp://ftp.videolan.org/pub/x264/snapshots/ffmpeg下载地址:http://www.ffmpeg.org/download.htmlopencv下载地址:http://opencv.org/我们使用最新的Ub

2013-06-07 16:07:50 5123

原创 x264和FFMPEG 编译后遇到的一些问题:UINT64_C,

吭吃坑吃的编译安装完ffmpeg 0.75,在centos5.9上后,遇到了一些问题,都是十分常见的问题,希望对大家有用。问题一/usr/local/include/libavutil/common.h: In function ‘int32_t av_clipl_int32_c(int64_t)’:/usr/local/include/libavutil/common.h:170:

2013-06-07 16:06:54 11471

原创 虚拟机环境维护之VDI转VMDK, VMDK瘦身

虚拟机环境维护之VDI转VMDK, VMDK瘦身被Virutal Box虐了三遍后,我开心的决定放弃。VDI虚拟硬盘真心好扯,我内心受伤害了好在VDI可以转VMDK,趁着Virtual box版虚拟机还可以打开,在Virtual BOX软件里打开管理器,必须使用clone的方法,将VDI转换成Clone虚拟硬盘,然后建立Vmware虚拟机,使用该VMDK,从此Virtual Box

2013-05-23 17:47:06 6301

原创 陈学松《深入Linux设备驱动程序内核机制》之MMAP内存页面示例

本例例化一个字符设备,该设备申请一块内存,file_operations中有mmap的功能,在测试程序test.c中mmap这块内存,操作这块用户内存即可以修改设备内存驱动代码 mmap_demo.c#include #include #include #include #include #include #include #include #include #incl

2013-05-19 13:00:00 4804 2

原创 V4L2通过摄像头采集图片

V4L2通过摄像头采集图片#include #include #include #include #include           #include            #include #include #include #include #include #include #include #include #include

2013-05-19 11:48:58 13335 5

原创 Linux并口设备驱动程序设置

参考地址:http://oss.org.cn/kernel-book/ldd3/ch09s03.html13脚接led的正输入,25脚接led的负极驱动代码:parport_drv.c#include#include#include#include#include#include#include#include"parport_drv.h"#

2013-05-19 11:45:01 3375

原创 linux内存页面分配问题 page_alloc, page_address, pa

驱动代码dma.c#include #include #include #include MODULE_LICENSE("DUAL BSD/GPL");static int __init alloc_pages_init(void);static void __exit alloc_pages_exit(void);struct page *pages = NULL;int

2013-05-19 11:33:22 3866

原创 宋宝华 《Linux设备驱动开发详解》示例代码之fifo字符设备驱动

驱动代码如下:scull.c#include #include #include #include #include #include #include #include #define SCULL_MAJOR 252#define SCULL_NAME "scull"#define MAX_DATA 0x10static int scull_major = SC

2013-05-19 11:24:45 3936

原创 宋宝华 《Linux设备驱动开发详解》之基本字符设备驱动misc版本

将普通字符设备驱动改造成misc设备,misc设备没有字符设备那么麻烦,以后自己写的驱动尽量用misc设备来代替scull.c#include #include #include #include #include #include #include #include #define SCULL_NAME "scull"#define MAX_DATA 0x1000st

2013-05-19 11:13:33 1565

原创 宋宝华 《Linux设备驱动开发详解》示例代码之基本字符设备驱动

最简单的字符设备驱动代码scull.c#include #include #include #include #include #include #include #define SCULL_MAJOR 252#define SCULL_NAME "scull"#define MAX_DATA 0x1000static int scull_major = SCULL

2013-05-19 11:08:43 2828

原创 宋宝华 《Linux设备驱动开发详解》示例代码之second设备

second.c代码#include #include #include #include #include #include #include #include #include #include #define SECOND_MAJOR 252static int second_major = SECOND_MAJOR;struct second_dev{ st

2013-05-19 11:02:01 3059

原创 Linux系统串口接收数据编程

之前基于IBM deveplopworks社区的代码,做了串口初始化和发送的程序,今天在此基础上添加了读取串口数据的程序。首先是最简单的循环读取程序,第二个是通过软中断方式,使用信号signal机制读取串口,这里需要注意的是硬件中断是设备驱动层级的,而读写串口是用户级行为,只能通过信号机制模拟中断,信号机制的发生和处理其实于硬件中断无异,第三个是通过select系统调用,在没有数据时阻塞进程,串口

2013-03-13 15:07:53 28766 8

原创 Linux串口编程

之前一直在纠结这个怎么做,其实就是一个读写文件的流程,需要配置下串口的参数。不过有意思的地方更在于,一,串口是可以作为终端的,linux终端tty是很有意思的,二,串口的配置涉及缓冲区设计,这点又和C语言的缓冲区息息相关,很多公司也喜欢考这样的C语言问题。参考文献为:http://www.ibm.com/developerworks/cn/linux/l-serials/index.htm

2013-02-28 21:25:53 5561 5

原创 Linus的最新愤怒,这哥们真心触碰到了Linus的底线

Mauro, SHUT THE FUCK UP!闭上你的嘴It's a bug alright - in the kernel. How long have you been amaintainer? And you *still* haven't learnt the first rule of kernelmaintenance?这是已经是一个内核的bug。你做maintainer多

2012-12-26 16:18:34 1932 1

转载 (转自oschina)python学习中的一些小例子

代码转自oschina http://www.oschina.net/code/list_by_user?id=120579发表在这里只是为了学习存档,如果您不允许转载,请通知我,我立刻处理。因为我是python的初学者,但是又不满足于手中所学,觉得python可以做一些简单的应用。之前看到有人用python写的金山快盘签到程序,有道词典查词程序,我觉得很有意思,我也想学学。

2012-12-02 23:34:37 2206

原创 LDD3《Linux设备驱动》中的最简单的字符设备驱动实现与测试

源代码如下:#include #include #include #include #include #include #include #include #include //#include "scull.h"#define SCULL_MAJOR 0 /* dynamic major by default */#define SCULL_NR_DEVS 4

2012-11-18 16:23:26 1133 1

原创 ubuntu下的字典,使用有道词典

ubuntu下的字典实在不知道咋整,不会弄stardict,看到sourceforge上有python写的有道词典的脚本,只要联网,就可以在终端查询,用了之后,感觉很方便,所以推荐给大家。可以从http://sourceforge.net/projects/yodao-free/files/yodao-dict/这个站点下载,就一个python脚本,下载下来就可以。若是不想下载,就复制下述代码,以

2012-10-09 19:46:14 11693

原创 APUE 第八章 进程管理 子进程领养问题探讨

终于开始学习APUE的进程管理这章了,其实看书到现在终于发现,我们读一本书,并且确定这本书是好书,然后认真读这本书。但是当前我们已经没有太多时间去逐句逐字读,所以需要我们有所甄别。可以只看自己感兴趣的地方,比如我对进程管理这部分感兴趣,所以可以直接去看进程管理这章,而不用去看文件或者IO。        下述程序为fork的使用示例。Program List 8-1#include "

2012-10-09 18:41:11 1381

原创 大数相乘

/* Name: Copyright: Author: Date: 25/08/12 19:10 Description: Reference: http://blog.youkuaiyun.com/jianzhibeihang/article/details/4948267 */#include#include#include#defi

2012-08-25 19:47:43 707

原创 《Unix环境高级编程》(APUE)附带源码编译过程

在UBUNTU下进行APUE的代码编译的话,需要改动的地方很多,尤其是ubuntu12.04下,内核升级到3.0后。一 首先进行一些改动,将工作区间改变,修改MAKE文件以为编译打基础http://blog.youkuaiyun.com/dycwahaha/article/details/2300938(一)作者提供的编译方法的实现     README文件中给出的编译方法如下:    T

2012-08-24 18:59:30 2875

原创 大数相加

/* Name: Copyright: Author: Date: 24/08/12 16:34 Description: Reference: http://blog.youkuaiyun.com/tangxianghenggood/article/details/5776629 */#include#includeint main(

2012-08-24 18:56:16 705

原创 竞争与冒险

冒险由电路中的延时引起,冒险分为静态与动态冒险,前者多出现在门电路多的逻辑中,比如与或逻辑或者与非-与非逻辑,两级电路不存在动态冒险。设计中的冗余逻辑可以避免静态冒险。

2011-11-20 10:08:05 894

charles-proxy-3.10.1.tar.gz

charles-proxy-3.10.1

2015-12-08

只使用APUE的libapue.a库文件和apue.h头文件的例程,有Makefile

将libapue.a从编译好的APUE源码库中提取出来,与自己写的c源文件放在同一目录下,并有写好的Makefile文件,在任何Linux系统下都能工作

2012-08-24

Ubuntu12.04下编译成功的APUE附带源码

本资源是APUE随书附带源码库,在Ubuntu12.04下编译成功,可以直接在Ubuntu下进行Linux C学习,并且附有编译过程

2012-08-24

基于stc89c51rc的篮球记分器

本程序由keil3编写,主要实现加一、二、三分,切换加分,罚时等功能

2010-12-11

verilog hdl程序设计初步教程

verilog hdl程序设计初步教程,可以对verilog有一个初步了解

2010-11-23

空空如也

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

TA关注的人

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