开发软件
文章平均质量分 71
邹亚鹏
- -!!
展开
-
Source Insight经典教程
Source Insight实质上是一个支持多种开发语言(java,c ,c等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,转载 2012-11-06 17:26:44 · 684 阅读 · 0 评论 -
libcurl官方实例代码(HTTP,FTP,上传下载等等)
http://curl.haxx.se/libcurl/c/example.html复制去Google翻译翻译结果原创 2014-07-21 16:19:53 · 5216 阅读 · 0 评论 -
json
http://www.w3school.com.cn/json/index.asp原创 2014-07-21 16:18:56 · 1458 阅读 · 0 评论 -
Ubuntu 上安装及配置 Cherokee Web 服务器
Cherokee 号称是目前最快的 Web 服务器软件,据说在性能上甚至比 Nginx 还略胜一筹。Cherokee 的功能包括支持 FastCGI、SCGI、PHP、CGI、TLS 及 SSL 加密连接,虚拟主机,授权认证,实时编码,载入均衡,与 Apache 兼容的 log 文件等等。Cherokee 最具特色的地方在于内置了一个名为 cherokee-admin 的工具,执行转载 2014-07-23 11:08:30 · 841 阅读 · 0 评论 -
makefile模板(可执行文件,动态库,静态库)
可执行文件:原创 2014-07-22 15:18:57 · 2509 阅读 · 1 评论 -
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 · 25668 阅读 · 0 评论 -
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 · 730 阅读 · 0 评论 -
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 · 1112 阅读 · 0 评论 -
使用libcurl进行文件上传
上篇博文讲到了如何使用multicurl来进行http并发访问,今天继续有关curl的主题,来八一八如何使用curl来上传文件,在介绍具体方法之前了解下目前http文件上传的基本实现。 rfc1867描述了如何使用http协议来上传客户端文件,目前基本上所有的浏览器和web服务器都支持http文件上传,它的使用也十分的简单,具体的来说就是在页面上创建一个form表单,表单的encty转载 2014-07-24 18:06:26 · 13051 阅读 · 0 评论 -
php curl_init函数用法
使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网 页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内 容,cURL 是一个功能强大的PHP库。PHP中的CURL函数库(Client URL Library Function)curl_close转载 2014-07-25 09:19:09 · 572 阅读 · 0 评论 -
c里面使用libcurl库实现发送post并获取post到的内容
以下是c代码的实现:#include #include #include #include #define POSTURL "http://www.xiami.com/member/login"#define POSTFIELDS "email=myemail@163.com&password=mypassword&autologin=1&submit=登 录&转载 2014-07-25 16:35:47 · 3131 阅读 · 0 评论 -
搭建自己的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 · 1468 阅读 · 0 评论 -
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 · 1422 阅读 · 0 评论 -
跟一下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 · 1836 阅读 · 0 评论 -
linux 下内存泄露检测工具valgrind的使用
内存泄露检测,使用工具valgrind,能够检测具体哪一行代码创建的内存泄露。因该该工具只在程序结束时才统计信息,所以对于我们不退出的程序可以在运行一段时间后,直接ctrl+c停止,valgrind会统计目前的信息。使用以下选项:valgrind --leak-check=yes --trace-children=yes --show-reachable=yes --log-file=原创 2014-08-19 12:51:19 · 1125 阅读 · 0 评论 -
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 · 782 阅读 · 0 评论 -
一个Linux下C线程池的实现(转)
1.线程池基本原理 在传统服务器结构中, 常是 有一个总的 监听线程监听有没有新的用户连接服务器, 每当有一个新的 用户进入, 服务器就开启一个新的线程用户处理这 个用户的数据包。这个线程只服务于这个用户 , 当 用户与服务器端关闭连接以后, 服务器端销毁这个线程。然而频繁地开辟与销毁线程极大地占用了系统的资源。而且在大量用户的情况下, 系统为了开辟和销毁线程将浪费大量的时间和资源。线程转载 2014-09-18 10:13:08 · 898 阅读 · 0 评论 -
CLOSE_WAIT状态的原因与解决方法
这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司竟然都面到到了这个问题,不得不使我开始关注这个问题。说起CLOSE_WAIT状态,如果不知道的话,还是先瞧一下TCP的状态转移图吧。关闭socket分为主动关闭(Active closure)和被动关闭(Passive closure)两种情况。前者是指有本地主机主动发起的关闭;而后者则是指本地主机转载 2014-07-16 15:56:18 · 711 阅读 · 0 评论 -
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 · 757 阅读 · 0 评论 -
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 · 889 阅读 · 0 评论 -
git clone简介
翻译整理自: http://web.mit.edu/~mkgray/project/silk/root/afs/sipb/project/git/git-doc/git-clone.html 在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http转载 2013-01-15 14:29:49 · 582 阅读 · 0 评论 -
Source Insight技巧收集
1、背景色选择 要改变背景色Options->preference->windows background->color设置背景色2、解决字符等宽对齐问题。 SIS默认字体是VERDANA,很漂亮。这网页上应该也是用的VERDANA字体。但由于美观的缘故,VERDANA字体是不等宽的。比如下面两行 llllllllll MMMMMMMMMM 同转载 2012-11-06 17:22:40 · 471 阅读 · 1 评论 -
打印当前时间
inline void print_current_time(void){ struct tm *tmnow; struct timeval tv; gettimeofday(&tv,NULL); tmnow = localtime(&tv.tv_sec); printf("%04d/%02d/%02d %02d:%02d:%02d:%06ld ",\ tmnow->tm_ye原创 2013-11-27 16:15:25 · 851 阅读 · 0 评论 -
调试打印
#ifdef MSG_DEBUG #define msg_print(...) {print_current_time(); printf(__VA_ARGS__);}#else #define msg_print(...) ;#endif原创 2013-11-27 16:17:59 · 537 阅读 · 0 评论 -
linux下C语言多线程(一)线程的创建与取消
linux下用C开发多线程程序,Linux系统下的多线程遵循POSIX线程接口,称为pthread。#include int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, v原创 2014-01-08 19:09:10 · 1043 阅读 · 0 评论 -
线程取消(pthread_cancel)
取消线程取消操作允许线程请求终止其所在进程中的任何其他线程。不希望或不需要对一组相关的线程执行进一步操作时,可以选择执行取消操作。例如,用户请求关闭或退出正在运行的应用程序。另一个示例是完成由许多线程执行的任务。其中的某个线程可能最终完成了该任务,而其它线程还在继续运行。由于正在运行的线程此时没有任何用处,因此取消这个线程。取消点仅当取消操作安全时才应取消线程。pthreads标准原创 2014-01-08 19:10:38 · 4487 阅读 · 0 评论 -
多线程 or 多进程?
在Unix上编程采用多线程还是多进程的争执由来已久,这种争执最常见到在C/S通讯中服务端并发技术的选型上,比如WEB服务器技术中,Apache是采用多进程的(perfork模式,每客户连接对应一个进程,每进程中只存在唯一一个执行线程),Java的Web容器Tomcat、Websphere等都是多线程的(每客户连接对应一个线程,所有线程都在一个进程中)。 从Unix发展历史看,伴随着U转载 2014-01-17 13:17:42 · 1022 阅读 · 0 评论 -
vim 对齐
只要在 /etc/vimrc中加上这两句就行了set autoindentset smartindent--------------------------------------------------------pip我说过vim很好很强大滴--------------------------------------------------------===原创 2014-02-24 13:20:41 · 1367 阅读 · 0 评论 -
vim 去掉^M
有两种情况,会出现打开的文件都显示^M符号:1. vim被配置为fileformat=unix,而你打开的文件都是dos格式的。unix格式的换行符为0A(ascii码)也就是,dos格式的换行符为 0D 0A(也就是),其实就显示为^M。下面是详细讲解:DOS, Mac 和Unix格式的文件回想计算机的史前史,那时的打字机使用两个字符来开始一个新行。首先是一个字符命令使打印头原创 2014-02-24 13:23:00 · 669 阅读 · 0 评论 -
关于typedef的用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别名,而不原创 2014-02-24 13:45:26 · 456 阅读 · 0 评论 -
二维码的生成细节和原理
二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。关于QR Code Specification,可参看这原创 2014-02-26 15:46:36 · 4208 阅读 · 0 评论 -
Objective-C中的占位符,打印BOOL类型数据
常用的一些占位符:%@:字符串占位符%d:整型%ld:长整型%f:浮点型%c:char类型%%:%的占位符 尽管有那么多的占位符,但是好像没有发现BOOL型的数据的占位符,这也是比较纠结的地方,看了一下别人是怎么解决这个问题的 BOOL studyBool = YES; NSLog(@"打印BOOL型数据%@",studyBool?@"Y原创 2014-03-14 09:20:06 · 9794 阅读 · 0 评论 -
交叉编译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 · 19407 阅读 · 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 · 750 阅读 · 0 评论 -
Linux C 编程内存泄露检测工具(一):mtrace
前言所有使用动态内存分配(dynamic memory allocation)的程序都有机会遇上内存泄露(memory leakage)问题,在Linux里有三种常用工具来检测内存泄露的情況,包括:mtracedmallocmemwatch1. mtracemtrace是三款工具之中是最简单易用的,mtrace是一个C函數,在里声明及定义,函数原型为: void转载 2014-05-07 13:56:05 · 1992 阅读 · 1 评论 -
Linux C 编程内存泄露检测工具(二):memwatch
Memwatch简介在三种检测工具当中,设置最简单的算是memwatch,和dmalloc一样,它能检测未释放的内存、同一段内存被释放多次、位址存取错误及不当使用未分配之内存区域。请往http://www.linkdata.se/sourcecode.html下载最新版本的Memwatch。安装及使用memwatch很幸运地,memwatch根本是不需要安装的,因为它只是一组C程序代码转载 2014-05-07 14:20:38 · 9855 阅读 · 0 评论 -
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 · 6167 阅读 · 0 评论