09 2011 档案

摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://sdbaby.blog.51cto.com/149645/325242今天又想起在VMWare虚拟机上玩玩LINUX(CentOS),好长时间没有弄它了!但是ROOT用户的密码忘了,进不去了!汗。。。解决方法:一、重启系统,如图:GRUB: 在引导装载程序菜单上,用上下方向键选择你忘记密码的那个系统键入“e” 来进入编辑模式。2.接下来你可以看到如下图所示的画面,然后你再用上下键选择最新的内核(这里是第二行,kernel.......),然后在按“e”。3、在rhgb quie 阅读全文
posted @ 2011-09-29 23:04 绿色冰点 阅读(219) 评论(0) 推荐(0) 编辑
摘要:Jason1. 必须的工具2. 主要步骤 2.1. 创建 2.2. 编译 2.3. 调试3. 总结1. 必须的工具如下工具是必须的: 1. gcc. 我使用的是3.4.3 2. autoconf. 我使用的是2.13-5. 奇怪的是2.59是不能用的,如果你的系统里安装的是这个版本,要先卸载,然后安装2.13 3. PHP4的源代码。我使用的是PHP-4.4.4。在PHP的网站上可以下载到2. 主要步骤创建PHP的扩展很麻烦。熟悉其它脚本语言的人会觉得开发PHP的扩展真是罗嗦到了极点。不过给脚本写扩展的原理都是一样的:导出一个特定名字的函数,然后通过这个函数返回关于这个扩展的全部信... 阅读全文
posted @ 2011-09-23 19:11 绿色冰点 阅读(236) 评论(0) 推荐(0) 编辑
摘要:原文:http://wjl2002.blog.51cto.com/182055/30429由于以前的一个软件需要小型化,决定用php重写,把linux下开发环境搭建过程记录下来。操作系统环境:RedHat Linux Enterprise AS4,装有gcc等开发工具包。一、安装mysql5从[url]www.mysql.com[/url]下载源码包mysql-5.0.41.tar.gztar -zxvf mysql-5.0.41.tar.gz //解压cd mysql-5.0.41 //进入到解压后的目录./configure --prefix=/opt/mysql --with-chars 阅读全文
posted @ 2011-09-23 19:09 绿色冰点 阅读(311) 评论(0) 推荐(1) 编辑
摘要:编写PHP Extensionzhangdongjin@baidu.com目录目录... 2一、 基础知识... 41.1 PHP变量的存储... 41.1.1 zval结构... 41.1.2 引用计数... 51.1.3 zval状态... 51.1.4 zval状态切换... 61.1.5 参数传递... 91.2 HashTable结构... 91.2.1 数据结构... 101.2.2 PHP数组... 131.2.3 变量符号表... 141.3 内存和文件... 15二、 Extensions 的编写... 172.1 HelloWorld. 172.1.1 声明导出函数... 阅读全文
posted @ 2011-09-22 17:49 绿色冰点 阅读(2165) 评论(0) 推荐(1) 编辑
摘要:2011-9-21lrzsz一个方便上传下载的小工具,在xshell中,需要往我们的linux虚拟机传送文件时,直接将文件拉到终端即可,或者在终端输入命令rz,会弹出对话框选择文件,同样地,在虚拟机终端输入sz 文件名 可以发送文件到本机。在CentOS上可以简单地通过yum install lrzsz来安装.源码安装也很简单,这里略.2012-1-30Unison如果我们习惯在虚拟机上操作,我们知道在本机和虚拟机之间可以通过share folder的方式共享某个文件夹作为主机和虚拟机都可以同时操作的文件夹,但很多情况下,公司都会提供一台服务器,我们无需自己浪费大量的内存和CPU来单独开启一台 阅读全文
posted @ 2011-09-21 23:03 绿色冰点 阅读(3381) 评论(0) 推荐(0) 编辑
摘要:在上两章里讲述了扩展模块的基本用法,相信读者已经能够构建自己的扩展模块了,接下来,我们来看看几个重要的函数:1、PHP_MINIT_FUNCTION(MyModule);当模块被Zend Engine(ZE)加载后,例如Apache启动,加载了PHP模块,ZE会对每一个扩展模块调用此函数(如果有的话),可以在该函数里进行一些初始化操作。2、PHP_RINIT_FUNCTION(MyModule);对于每一个“使用”该模块的PHP脚本请求前,都执行该函数(如果有的话),最好的例子:Session扩展模块,如果在一个PHP脚本里执行session.start(),Session模块的PHP_RIN 阅读全文
posted @ 2011-09-21 13:40 绿色冰点 阅读(2767) 评论(0) 推荐(0) 编辑
摘要:在上一章里我们介绍了如何编写自己的函数,接下来,我们开始编写一个有参数有返回值的扩展函数。因为Zend没有正式的函数调用语法检查支持,所以我们在编写扩展函数的时候必须得“小心”,也就是我们必须得严格地进行调用合法性检查。首先,我们写一个函数:#include "string.h"PHP_FUNCTION(haosoft_strcat){char* pc_arg_one = NULL;char* pc_arg_tow = NULL;long arg_one_len;long arg_tow_len;if (zend_parse_parameters(ZEND_NUM_ARGS 阅读全文
posted @ 2011-09-21 13:39 绿色冰点 阅读(1108) 评论(0) 推荐(0) 编辑
摘要:首先,我们应该选择如何去构建我们的扩展模块,有三种方式:1、External Modules:外部模块,也就是编译成共享库,用dl()函数动态加载。好处:(1)不需要重新编译PHP(2)PHP体积小,因为不需要编译进PHP缺点:(1)每次*.php脚本执行都需要用dl()去加载,效率较低(2)每次都要调用dl()2、Built-in Modules:编译进PHP好处:(1)不需要动态加载,模块在php脚本里面可以直接使用。(2)不需要将模块编译成.so共享库,因为直接编译进PHP。缺点:(1)对模块的改变都需要重新编译PHP(2)因为编译进PHP,所以PHP二进制文件较大,而且多占点内存3、T 阅读全文
posted @ 2011-09-21 13:21 绿色冰点 阅读(5709) 评论(0) 推荐(0) 编辑
摘要:原文:http://blog.sina.com.cn/s/blog_4b029ef30100nxcb.html阻塞socket和非阻塞socket读操作对于阻塞的socket,当socket的接收缓冲区中没有数据时,read调用会一直阻塞住,直到有数据到来才返回。当socket缓冲区中的数据量小于期望读取的数据量时,返回实际读取的字节数。当sockt的接收缓冲区中的数据大于期望读取的字节数时,读取期望读取的字节数,返回实际读取的长度。对于非阻塞socket而言,socket的接收缓冲区中有没有数据,read调用都会立刻返回。接收缓冲区中有数据时,与阻塞socket有数据的情况是一样的,如果接收 阅读全文
posted @ 2011-09-15 12:17 绿色冰点 阅读(10276) 评论(0) 推荐(0) 编辑
摘要:原文链接:http://blog.vckbase.com/panic/archive/2005/03/28/4144.html在A*寻路中使用二叉堆作者:Patrick Lester(2003年4月11日更新)译者:Panic 2005年3月28日译者序: 这一篇文章,是“A* Pathfinding for Beginners.”,也就是我翻译的另一篇文章《A*寻路初探》的补充,在这篇文章里,作者再一次展现了他阐述复杂话题的非凡能力,用通俗易懂的语句清晰的解释了容易让人迷惑的问题。还是那句话,如果你看了这篇文章仍然无法领会作者的意图,那只能怪我的翻译太蹩脚了。请参考原文做进一步的理解。 这里 阅读全文
posted @ 2011-09-09 19:29 绿色冰点 阅读(379) 评论(0) 推荐(0) 编辑
摘要:/** * 寻径算法框架 * by lxslove * e-mail:moodlxs@163.com * 用法: * 注意:编译本框架需要加上-ldl选项 * g++ -ldl src.cpp * * 地图文件格式为不同符号的矩阵,具体什么符号代表可通行,什么符号代表不可通行,由自己决定。举个例子: * ################### * # ###### ######## * # ###### ########## * # ########## * ######## # #### * ## #### ## ###### * ### # ########... 阅读全文
posted @ 2011-09-09 19:22 绿色冰点 阅读(348) 评论(0) 推荐(0) 编辑