自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(161)
  • 收藏
  • 关注

转载 基于ARM9开发板的按键字符设备驱动实现

摘要:该驱动程序实现4个按键设备在Linux系统中基于QT2410E开发板的工作情况,通过该实例可以了解ARM平台Linux系统下的GPIO程序控制,以及硬件中断程序的工作机制。另外还可以熟悉Linux 2.6内核的模块加载和测试方法。1.了解硬件原理图由于该设备驱动是针对具体硬件设备的,所以一般需要了解它的硬件原理图(如图1),该模块有四个按键分别是S2,S3,S

2014-10-27 17:41:41 1975

转载 一个Linux下C线程池的实现(转)

1.线程池基本原理  在传统服务器结构中, 常是 有一个总的 监听线程监听有没有新的用户连接服务器, 每当有一个新的 用户进入, 服务器就开启一个新的线程用户处理这 个用户的数据包。这个线程只服务于这个用户 , 当 用户与服务器端关闭连接以后, 服务器端销毁这个线程。然而频繁地开辟与销毁线程极大地占用了系统的资源。而且在大量用户的情况下, 系统为了开辟和销毁线程将浪费大量的时间和资源。线程

2014-09-18 10:13:08 882

原创 strtok_r使用实例

#include#include#define INFO_MAX_SZ 255typedef struct { char level[16]; char ssid[36];}JOSEPH_WIFI_AP_MESSAGE;int main(){ JOSEPH_WIFI_AP_MESSAGE scan_ap_message[10]; char buf[INFO_MAX_SZ]

2014-09-09 17:38:22 1824

转载 linux free命令详解

我的linux执行free命令显示如下: [root@Linux /tmp]# free            total     used        free       shared    buffers   cachedMem:       255268    238332      16936         0        85540   126384-/+ buf

2014-08-20 09:58:14 771

原创 linux 下内存泄露检测工具valgrind的使用

内存泄露检测,使用工具valgrind,能够检测具体哪一行代码创建的内存泄露。因该该工具只在程序结束时才统计信息,所以对于我们不退出的程序可以在运行一段时间后,直接ctrl+c停止,valgrind会统计目前的信息。使用以下选项:valgrind --leak-check=yes --trace-children=yes --show-reachable=yes --log-file=

2014-08-19 12:51:19 1083

转载 system函数返回值

system函数返回值2011年08月01  日星期一11:59转自:http://blog.cheyo.net/?p=42 例:status = system("./test.sh");1、先统一两个说法:(1)system返回值:指调用system函数后的返回值,比如上例中status为

2014-08-18 15:33:11 6052

转载 Socket的错误码和描述(中英文翻译)

//下面是Socket Error的错误码和描述:Socket error 0 - Directly send error Socket error 10004 - Interrupted function  //call 操作被终止 Socket error 10013 - Permission denied  //c访问被拒绝 Socket error 10014 - Ba

2014-08-01 13:14:30 1382

转载 c里面使用libcurl库实现发送post并获取post到的内容

以下是c代码的实现:#include #include #include #include #define POSTURL "http://www.xiami.com/member/login"#define POSTFIELDS "[email protected]&password=mypassword&autologin=1&submit=登 录&

2014-07-25 16:35:47 3089

转载 php curl_init函数用法

使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网 页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内 容,cURL 是一个功能强大的PHP库。PHP中的CURL函数库(Client URL Library Function)curl_close

2014-07-25 09:19:09 565

转载 使用libcurl进行文件上传

上篇博文讲到了如何使用multicurl来进行http并发访问,今天继续有关curl的主题,来八一八如何使用curl来上传文件,在介绍具体方法之前了解下目前http文件上传的基本实现。    rfc1867描述了如何使用http协议来上传客户端文件,目前基本上所有的浏览器和web服务器都支持http文件上传,它的使用也十分的简单,具体的来说就是在页面上创建一个form表单,表单的encty

2014-07-24 18:06:26 12950

原创 inet_ntoa在32位机器上没有问题,64位机器又问题

inet_ntoa用法如下:char *inet_ntoa(struct in_addr in);  就是将struct in_addr结构转换为IP地址的形式,struct in_addr这个结构应该不陌生吧,它的定义如下:

2014-07-24 11:53:04 1075

转载 HTTP协议中PUT和POST使用上的区别

http://hi.baidu.com/%CE%A2%D0%A6%C0%E1%CB%AE/blog/item/84fd8e3d93944350241f14cc.html  有的观点认为,应该用POST来创建一个资源,用PUT来更新一个资源;有的观点认为,应该用PUT来创建一个资源,用POST来更新一个资源;还有的观点认为可以用PUT和POST中任何一个来做创建或者更新一个资

2014-07-23 11:27:37 718

转载 Ubuntu 上安装及配置 Cherokee Web 服务器

Cherokee 号称是目前最快的 Web 服务器软件,据说在性能上甚至比 Nginx 还略胜一筹。Cherokee 的功能包括支持 FastCGI、SCGI、PHP、CGI、TLS 及 SSL 加密连接,虚拟主机,授权认证,实时编码,载入均衡,与 Apache 兼容的 log 文件等等。Cherokee 最具特色的地方在于内置了一个名为 cherokee-admin 的工具,执行

2014-07-23 11:08:30 821

原创 nginx中HTTP/1.1 405 Method not allowed 的解决方法

环境:nginx 1.0.10今天调试一个站点时,发现用post方式去请求一个静态页面时,返回 HTTP/1.1 405 Method not allowed 状态,无法正常显示页面。这里提供下网上的一些解决方法,供大家参考。方法一 复制代码代码如下:server{   listen       80;   server_name  test.bai

2014-07-22 17:03:52 25551

原创 makefile模板(可执行文件,动态库,静态库)

可执行文件:

2014-07-22 15:18:57 2482 1

原创 libcurl官方实例代码(HTTP,FTP,上传下载等等)

http://curl.haxx.se/libcurl/c/example.html复制去Google翻译翻译结果

2014-07-21 16:19:53 5192

原创 json

http://www.w3school.com.cn/json/index.asp

2014-07-21 16:18:56 1446

转载 CLOSE_WAIT状态的原因与解决方法

这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司竟然都面到到了这个问题,不得不使我开始关注这个问题。说起CLOSE_WAIT状态,如果不知道的话,还是先瞧一下TCP的状态转移图吧。关闭socket分为主动关闭(Active closure)和被动关闭(Passive closure)两种情况。前者是指有本地主机主动发起的关闭;而后者则是指本地主机

2014-07-16 15:56:18 683

转载 linux 下端口close_wait 过多

情景描述:系统产生大量“Too many open files” 原因分析:在服务器与客户端通信过程中,因服务器发生了socket未关导致的closed_wait发生,致使监听port打开的句柄数到了1024个,且均处于close_wait的状态,最终造成配置的port被占满出现“Too many open files”,无法再进行通信。 close_wait状态出现的原因是被动关闭方

2014-07-16 15:54:54 721

转载 跟一下wpa_supplicant(3-2) connect AP

转:http://blog.chinaunix.net/uid-20514606-id-3260320.html接前面(3-1)继续: 5. 接分支4.authenticate response 来了和前面一样:wpa_driver_nl80211_event_receive到=> process_event   收到 NL80211_CMD_AUTHE

2014-06-20 15:12:53 1816

转载 搭建自己的SIP服务器:开源sip服务器opensips的搭建及终端TwInkle的使用

先下载源码:这里我下载的是1.8.2,因为这个是目前的最稳定版本,(虽然已经有1.9及2.0了)http://opensips.org/pub/opensips/1.8.2/src/opensips-1.8.2_src.tar.gz编译前需要安装如下软件:apt-get install perl libdbi-perl libdbd-mysql-perl libdb

2014-06-16 10:01:56 1455

原创 嵌入式 uboot、fs、kernel制作和烧录简记-hi3518c

NULL RAM :mkdir ramdisk_test  临时挂在点dd if=/dev/zero of=rootfs.ramdisk bs=1k count=10000 建立空硬盘//15000(15M)losetup /dev/loop0 rootfs.ramdisk 挂在临时硬盘mke2fs -m 0 /dev/loop0 格式化此硬盘mount –

2014-06-12 16:07:28 5163 1

原创 嵌入式 hi3518c裸板uboot烧写、kernel烧写、fs烧写小结

1、在uboot中我可以添加自己的命令,添加的方法是找到一个uboot的命令,然后模仿着去增加属于自己的命令代码以及实现函数就可以2、记住在使用printf进行调试的时候,在遇到指针或者字符串的时候最好使用“%x”,以为我不知道指针或者字符串中是否包含不可见字符,如果有不可见字符会导致错误,而且错误不好查找3、对于uboot中的环境变量,其实是放在uboot里面的,也就是环境变量占

2014-06-12 16:06:25 1934

转载 JFFS2文件系统制作

jffs2文件系统制作过程JFFS2 是一个开放源码的项目(www.infradead.org)。 它是在闪存上使用非常广泛的读/写文件系统,在嵌入式系统中被普遍的应用。1.       安装mkfs工具MTD主页:http://www.linux-mtd.infradead.org/archive/index.html下载MTD:ftp://ftp.uk.linux.org/pu

2014-06-06 17:43:33 1798

原创 U-Boot 编译(嵌入式U-BOOT,kernel编译)

make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- clean

2014-06-06 14:06:52 660

转载 STUN, STUNT, XSTUNT

STUN(From: http://zh.wikipedia.org/w/index.php?title=STUN&variant=zh-cn)STUN(Simple Traversal of User Datagram Protocol through Network Address Translators (NATs),NAT的UDP简单穿越)是一种网络协议,它允许位于NAT(

2014-05-16 17:52:17 868

转载 Linux C 编程内存泄露检测工具(二):memwatch

Memwatch简介在三种检测工具当中,设置最简单的算是memwatch,和dmalloc一样,它能检测未释放的内存、同一段内存被释放多次、位址存取错误及不当使用未分配之内存区域。请往http://www.linkdata.se/sourcecode.html下载最新版本的Memwatch。安装及使用memwatch很幸运地,memwatch根本是不需要安装的,因为它只是一组C程序代码

2014-05-07 14:20:38 9604

转载 Linux C 编程内存泄露检测工具(一):mtrace

前言所有使用动态内存分配(dynamic memory allocation)的程序都有机会遇上内存泄露(memory leakage)问题,在Linux里有三种常用工具来检测内存泄露的情況,包括:mtracedmallocmemwatch1. mtracemtrace是三款工具之中是最简单易用的,mtrace是一个C函數,在里声明及定义,函数原型为:    void

2014-05-07 13:56:05 1948 1

转载 shell算数运算

((i=$j+$k)) 等价于 i=`expr $j + $k`((i=$j-$k)) 等价于 i=`expr $j -$k`((i=$j*$k)) 等价于 i=`expr $j \*$k`((i=$j/$k)) 等价于 i=`expr $j /$k`Let expressions 执行一个或多个表达式。表达式中的变量前不必有$.如果表达式中包含了空格或其他特殊字符,则必须引起

2014-05-06 16:33:31 433

原创 Linux下makefile 模板

makefile在Linux下写程序,程序多了,写makefile是有必要的,为了能提高效率,写个模板以后只需要稍微改改!

2014-04-30 16:17:45 596

原创 linux下串口通信

串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是RS-232-C接口(又称EIA RS-232-C)它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。串口通讯指的是计算机依次以位(bit)为单位来传送数据,串行通讯使用的范围很广,在嵌入式系统开发过程中串口通讯也经常用到通讯方式之一。Lin

2014-04-15 15:23:21 2433

原创 交叉编译openssl

本次任务是要完成嵌入式Linux下对openssl程序的支持。    我的开发环境:ARM9开发板 和 嵌入式Linux操作系统。装有Linux系统(我的是ubuntu9.04)的PC机一台。串口和串口连接线。串口调试软件:minicom。交叉编译工具:arm-unknown-linux-gnu-gcc    下载最新版本的openssl-1.0.0:    http://www.op

2014-03-27 14:50:12 19331 1

原创 linux下内存泄露调试

http://www.s135.com/post/419/ http://blog.chinaunix.net/uid-579481-id-163614.html http://blog.chinaunix.net/uid-16135252-id-2752984.html

2014-03-24 09:07:52 728

原创 linux下获取本机公网ip

curl http://iframe.ip138.com/ic.asp

2014-03-17 16:51:56 807

原创 Objective-C中的占位符,打印BOOL类型数据

常用的一些占位符:%@:字符串占位符%d:整型%ld:长整型%f:浮点型%c:char类型%%:%的占位符 尽管有那么多的占位符,但是好像没有发现BOOL型的数据的占位符,这也是比较纠结的地方,看了一下别人是怎么解决这个问题的  BOOL studyBool = YES;        NSLog(@"打印BOOL型数据%@",studyBool?@"Y

2014-03-14 09:20:06 9712

原创 二维码的生成细节和原理

二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。关于QR Code Specification,可参看这

2014-02-26 15:46:36 4153

原创 进度条

#include#include #include int main(){ #if 0 int bootdelay = 10; printf("Hit any key to stop autoboot: %2d ", bootdelay); while(1) { printf("\b\b\b%2d ", bootdelay); sleep(1); } return

2014-02-26 10:52:23 603

原创 “简简单单”的问题~~~~

1.实现一个函数,计算1到n的和,当然n是变量不能出现以下:乘除操作,位操作,if-else,for,while,switch,?:三目运算符,全局变量,模版,标准库函数。(做出来后检查下是否有违上面的红字!!!!!!!!!!!!)2.printf("%f\n",10/3);这会输出什么???3.000000??还是别的什么?

2014-02-24 13:49:05 606

原创 蛇形矩阵

1  3 6  10  152  5  9 144  8  137  1211输出n行蛇形矩阵。  以上为一种蛇形矩阵,还有一种蛇形矩阵:1 3  4 10  112  5  9 126  8  137  1415我也给出程序:结果:

2014-02-24 13:49:03 527

原创 一个简简单单的问题

#include int main(){    charstr1[] = "abc";    charstr2[] = "abc";    constchar str3[] = "abc";    constchar str4[] = "abc";    char*str5 = "abc";    char*str6 = "abc";   printf("%d\n"

2014-02-24 13:49:00 557

空空如也

空空如也

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

TA关注的人

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