
2012年前博客
文章平均质量分 60
ysu108
这个作者很懒,什么都没留下…
展开
-
curl
这东西现在已经是苹果机上内置的命令行工具之一了,可见其魅力之一斑1)二话不说,先从这里开始吧!curl http://www.yahoo.com回车之后,www.yahoo.com 的html就稀里哗啦地显示在屏幕上了~~~~~2)嗯,要想把读过来页面存下来,是不是要这样呢?curl http://www.yahoo.com > page.html转载 2015-08-08 16:51:32 · 529 阅读 · 1 评论 -
wget cookies 欺骗
1. 分析登录界面的html代码页面在 http://bbs.linuxeden.com/<input type="password" id="password" name="password" size="10" tabindex="2" nkeypress="if((event.keyCode ? event.keyCode : event.charCode) ==原创 2015-08-08 16:50:39 · 3370 阅读 · 0 评论 -
Bjarne Stroustrup 语录
一、致读者 1. 在编程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示。让程序的结构尽可能地直接反映这些思想: ★.如果你能把“它”看成一个独立的概念,就把它做成一个类。 ★.如果你能把“它”看成一个独立的实体,就把它做成某个类的一个对象。 ★.如果两个类有共同的界面,将此界面做成一个抽象类。原创 2015-08-08 16:55:06 · 492 阅读 · 0 评论 -
http协议学习和总结系列
蜜果私塾:http协议学习和总结系列——协议详解篇文:阿蜜果日期:2009-11-301. 基础概念篇1.1 介绍HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineeri转载 2015-08-08 16:49:42 · 835 阅读 · 0 评论 -
Grep用法
QUOTE: 比方以 grep 来说, 在 Linux 上你可找到 grep, egrep, fgrep 这几个程序, 其差异大致如下: * grep: 传统的 grep 程序, 在没有参数的情况下, 只输出符合 RE 字符串之句子. 常见参数如下: -v: 逆反模示, 只输出"不含" RE 字符串之句子. -r: 递归模式, 可同时处理所有层级子目录里的文件. -q:转载 2015-08-09 16:43:37 · 5227 阅读 · 0 评论 -
php调用c++程序例子
现需要php调用c++程序,参考了网上一篇文章,修改后在本机(fedora7)上测试通过,现整理如下。一、 编写test.cpp程序 转到你的apache服务器的站点目录下(即放置web文件的目录),我的是 /var/www/html目录,在该 目录下编写程序。 该简单程序的作用是通过命令行接受参数并显示出来,test.cpp代码如下:#include <iostream>using n转载 2015-08-09 16:50:14 · 3655 阅读 · 0 评论 -
Linux下用php调用C接口(扩展)的资料
By Sara Golemon March 1, 2005Introduction What’s an Extension? Lifecycles Memory Allocation Setting Up a Build Environment Hello World Building Your Extension INI Settings Global Values转载 2015-08-09 16:54:28 · 1015 阅读 · 0 评论 -
五年前的随笔(三)
mysql导出表结构 使用mysqldump命令格式 mysqldump YourDatabaseName –user=YourUserName –password=YourPassword YourDatabaseName是你想处理的数据库名 YourUserName和YourPassword 对应你的授权口令如果只需要导出表的结构,那么可以使用mysqldump的 -d 选项导出整个库的原创 2015-08-09 09:44:46 · 402 阅读 · 0 评论 -
线程--具体函数介绍
线程的概念 1. 线程的优点 线程的实现时间远晚于进程.最早实现是solaris 上线程,多线程技术已经被许多操作系统所支持,包括Windows/NT,和Linux 使用多线程的理由之一是和进程相比,它是一种非常”节俭”的多任务操作方式。 启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种”昂贵”的多任务工作方式。而运行于一个进程中的多个线程转载 2015-08-09 09:48:38 · 512 阅读 · 0 评论 -
消息队列
消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。作为早期unix通信机制之一的信号能够传送的信息量有限,后来虽然POSIX 1003.1b在信号的实时性方面作了拓广,使得信号在传递信息量方面有了相当程度的改进,但是信号这种通信方式更像”即时”的通信方式,它要求接受信号的进程在某个时间范围内对信号做出反应,因此该信号最多在接受信号进程的生命周期内才有意义,信号所传递的信息是接近于随进转载 2015-08-09 09:51:40 · 989 阅读 · 0 评论 -
测特定指令执行时所需消耗的时间及系统资源
名称: time 使用权限: 所有使用者 使用方式: time [options] COMMAND [arguments] 说明: time 指令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等资讯。例如 CPU 时间、记忆体、输入输出等等。需要特别注意的是,部分资讯在 Linux 上显示不出来。这是因为在 Linux 上部分资源的分配转载 2015-08-09 09:52:46 · 491 阅读 · 0 评论 -
五年前随笔(二)
函数指针,指针函数 函数指针是一个指向函数的指针,指针函数就说一个函数的返回值是一个指针。 函数指针的声明方法为: 函数类型 (标志符 指针变量名) (形参列表); 注1:“函数类型”说明函数的返回类型,“(标志符 指针变量名 )”中的括号不能省,若省略整体则成为一个函数说明,说明了一个返回的数据类型是指针的函数,后面的“形参列表”表示指针变量指向的函数所带的参数列表。例如: int原创 2015-08-08 16:45:39 · 453 阅读 · 0 评论 -
HTTP协议-无状态性
HTTP协议是无状态协议。 无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 客户端与服务器进行动态交互的Web应用程序出现之后,HTTP无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也转载 2015-08-08 16:05:18 · 415 阅读 · 0 评论 -
线程池 c 实现
什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。 下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker结构就是一个任务)。 p转载 2015-08-08 16:23:12 · 640 阅读 · 0 评论 -
随笔五年前(一)
为了减少包得大小,当传得包大小不一定的时候,如一个可变的url的时候,这个url一定要定义在结构体的最后面struct mypacket{ hash[40]; char url[1024];};计算大小的时候传送数据大小为len = 40 + strlen[url] + 1; 如果结构体中的url定义在hash的前面,那么当len大小为60(eg)的时候,只发送了char u原创 2015-08-08 15:59:05 · 379 阅读 · 0 评论 -
C++内存对象大会战
如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一不小心就会出现问题,而且很多时候,这些问题都是不易发觉的,比如内存泄漏,比如悬挂指针。笔者今天在这里并不是要讨论如何避免这些问题,而是想从另外一个角度来认识C++内存对象。 我转载 2015-08-08 16:01:56 · 427 阅读 · 0 评论 -
linux syetem()函数
Linux中的system函数详细分析相关函数fork,execve,waitpid,popen表头文件#include定义函数int system(const char * string);函数说明system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用原创 2015-08-08 16:16:12 · 532 阅读 · 0 评论 -
Linux网卡数据包的接收
一、从网卡说起 这并非是一个网卡驱动分析的专门文档,只是对网卡处理数据包的流程进行一个重点的分析。这里以Intel的e100驱动为例进行分析。大多数网卡都是一个PCI设备,PCI设备都包含了一个标准的配置寄存器,寄存器中,包含了PCI设备的厂商ID、设备ID等等信息,驱动程序使用来描述这些寄存器的标识符。如下:[Copy to clipboard]CODE:转载 2015-08-08 16:53:01 · 4261 阅读 · 0 评论 -
C++ STL遍历map的时候如何删除其中的element
我们通过map的erase(iterator it)方法删除元素的时候,如果此时erase处于遍历map的代码中,那么调用erase就需要小心一些。因为erase会导致输入参数iterator变的无效,从而影响后续的it++遍历map的逻辑。简单做法是,先将要删除的it保存下来,然后将用于遍历map的it指向下一个位置,然后删除掉保存下来的it。如下面代码所示:#include转载 2015-08-08 16:14:20 · 437 阅读 · 0 评论 -
select 用法
select 用法#include <sys/select.h>#include <sys/time.h>int select (int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, const struct timeval * timeout); Return >0:就绪描述字的正数目 -1:出错 0 :超时原创 2015-08-08 15:17:15 · 523 阅读 · 0 评论 -
终止进程
exit和_exit函数都是用来终止进程的。当程序执行到exit或_exit时,系统无条件的停止剩下所有操作,清除包括PCB在内的各种数据结构,并终止本进程的运行。但是,这两个函数是有区别的。 exit()函数与_exit()函数最大区别就在于exit()函数在调用do_exit之前要检查文件的打开情况,把文件缓冲区的内容写回文件。 由于Linux的标准函数库中,有原创 2015-08-08 16:10:26 · 416 阅读 · 0 评论 -
虚拟内存
虚拟内存是个怎么强调也不过分的概念,它的存在极大地方便了程序设计任务,解放了程序员的手脚。下面看看虚拟内存的作用以及如何在存储管理机制的基础上实现它。什么是虚存?为什么需要它? 我们知道程序代码和数据必须驻留在内存中才能得以运行,然而系统内存数量很有限,往往不能容纳一个完整程序的所有代码和数据,更何况在多任务系统中,可能需要同时打开子处理程序,画图程序,浏览器等很多任务,想让内存转载 2015-08-08 16:17:32 · 471 阅读 · 0 评论 -
用C++实现网络编程---抓取网络数据包的实现方法
做过网管或协议分析的人一般都熟悉sniffer这个工具,它可以捕捉流经本地网卡的所有数据包。抓取网络数据包进行分析有很多用处,如分析网络是否有网络病毒等异常数据,通信协议的分析(数据链路层协议、IP、UDP、TCP、甚至各种应用层协议),敏感数据的捕捉等。下面我们就来看看在windows下如何实现数据包的捕获。下面先对网络嗅探器的原理做简单介绍。嗅探器设计原理 嗅探器作为转载 2015-08-08 16:54:08 · 6258 阅读 · 0 评论 -
字符串操作之分割字符串
分割字符串分两种,一类是以某个字符为key分割,一类是以某个串为key分割。以串分割的先找到key在原字符串中的位置,这个算法就多了,KMP然后用strcnp,strcat来操作,举个例子,也是引出本次讨论的问题,http://www.youku.com:80/ok删除:80三个字符。 char p[] = "http://www.youku.com:80原创 2015-08-08 16:12:04 · 698 阅读 · 0 评论 -
跟我一起写 Makefile
跟我一起写 Makefile陈皓 (优快云)概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在U转载 2015-08-08 16:04:01 · 504 阅读 · 0 评论