freebsd下python程序打包工具 ── cx_Freeze

cx_Freeze是一个类似py2exe的工具,它们区别是py2exe是将python程序打包成windows下可以执行的exe文件的,而cx_Freeze则是将python程序打包为linux下可以直接执行的ELF格式的二进制可执行文件(看说明好像也能生成windows的可执行文件,号称跨平台)。 cx_Freeze的作用就是让你的python程序可以脱离python运行环境,在没有安装python的微型linux系统(例如cdlinux、tinycore等)里,方便地运行你的python程序。从功能上来说,也可以将其理解为一个python程序的编译器,将你的源码隐藏起来。 安装 cd /usr/ports/devel/cx_Freeze make install clean 打包程序 cxfreeze 你的程序文件.py --target-dir dist

2009-12-04 · 1 分钟 · admin

TCP连接状态

CLOSED: 表示初始状态。 LISTEN: 表示服务器端的某个SOCKET处于监听状态,可以接受连接。 SYN_SENT:在服务端监听后,客户端SOCKET执行CONNECT连接时,客户端发送SYN报文,此时客户端就进入SYN_SENT状态,等待服务端的确认 SYN_RCVD: 表示服务端接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,除非你特意写了一个客户端测试程序,故意将三次TCP握手过程中最后一个ACK报文不予发送。因此这种状态时,当收到客户端的ACK报文后,它会进入到ESTABLISHED状态。 ESTABLISHED:表示连接已经建立了。 FIN_WAIT_1: 这个是已经建立连接之后,其中一方请求终止连接,等待对方的FIN报文。FIN_WAIT_1状态是当SOCKET在ESTABLISHED状态时,它想主动关闭连接,向对方发送了FIN报文,此时该SOCKET即进入到FIN_WAIT_1状态。而当对方回应ACK报文后,则进入到FIN_WAIT_2状态,当然在实际的正常情况下,无论对方何种情况下,都应该马上回应ACK报文,所以FIN_WAIT_1状态一般是比较难见到的,而FIN_WAIT_2状态还有时常常可以用netstat看到。 FIN_WAIT_2:实际上FIN_WAIT_2状态下的SOCKET,表示半连接,也即有一方要求close连接,但另外还告诉对方,我暂时还有点数据需要传送给你,稍后再关闭连接。 TIME_WAIT: 表示收到了对方的FIN报文,并发送出了ACK报文,就等2MSL后即可回到CLOSED可用状态了。如果FIN_WAIT_1状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入到TIME_WAIT状态,而无须经过FIN_WAIT_2状态。 CLOSING: 这种状态比较特殊,实际情况中应该是很少见,属于一种比较罕见的例外状态。正常情况下,当你发送FIN报文后,按理来说是应该先收到(或同时收到)对方的ACK报文,再收到对方的FIN报文。但是CLOSING状态表示你发送FIN报文后,并没有收到对方的ACK报文,反而却也收到了对方的FIN报文。什么情况下会出现此种情况呢?其实细想一下,也不难得出结论:那就是如果双方几乎在同时close一个SOCKET的话,那么就出现了双方同时发送FIN报文的情况,也即会出现CLOSING状态,表示双方都正在关闭SOCKET连接。 CLOSE_WAIT: 这种状态的含义其实是表示在等待关闭。怎么理解呢?当对方close一个SOCKET后发送FIN报文给自己,你系统毫无疑问地会回应一个ACK报文给对方,此时则进入到CLOSE_WAIT状态。接下来呢,实际上你真正需要考虑的事情是察看你是否还有数据发送给对方,如果没有的话,那么你也就可以close这个SOCKET,发送FIN报文给对方,也即关闭连接。所以你在CLOSE_WAIT状态下,需要完成的事情是等待你去关闭连接。 LAST_ACK: 这个状态还是比较容易好理解的,它是被动关闭一方在发送FIN报文后,最后等待对方的ACK报文。当收到ACK报文后,也即可以进入到CLOSED可用状态了。

2009-11-22 · 1 分钟 · admin

windows下开发并编译PHP扩展(步骤说明)

开发PHP扩展对于普通程序员来讲可能一直是一件很神秘的工作,其实,只要你对C语言熟悉,了解了开发PHP扩展的步骤和规则,开发PHP扩展也是一件很普通的工作。 现在就简单说一在WINDOWS下开发PHP扩展的步骤: 首先需要准备的软件有: cygwin 安装路径e:\app\cygwin visual studio C++ 6.0, 修改环境变量,把已经安装好的PHP路径设置为环境变量。在这里,假设我的PHP安装目录是:e:\app\php5.2.5,那么我把WINDOWS环境变量后面加上这个安装目录。方便一会儿使用php.exe。 PHP源代码,这里假设为e:\c_source_code\php-5.2.5 1、修改文件 “PHP源文件目录/ext/ext_skel_win32.php”,在这里就是:E:\c_source_code\php-5.2.5\ext,其中主要是修改其中的cygwin路径。$cygwin_path = ’e:\app\cygwin\bin’; 把$cygwin_path修改为你实际安装cygwin的路径。 2、在源代码ext目录也就是e:\c_source_code\php-5.2.5\ext下,执行 php ext_skel_win32.php –extname=,此时会在ext目录下生成目录,这个目录就是我们将要进行PHP扩展开发的框架。比如你运行php.exe ext_skel_win32.php –extname=foo,会在ext目录下生成foo目录。 3、将php-root\dev\php5ts.lib拷贝至 “ext/”中。比如你要开发的PHP扩展名为foo,那么就需要把php-root\dev\php5ts.lib拷贝到PHP源文件目录\ext\foo中。 4、修改foo.c内容,编写我们需要的C代码。 5、进入目录,打开.dsp。 设置VC6工程, 设置菜单“组建”->“移除工程配置”,选中“Win 32 Release_TS”, 设置菜单“工程”,选中“Win 32 Release_TS” 打开Tab“连接”,设置“输出文件名”中的目录, [可选]打开Tab“C/C++”,增加“预处理器定义”“,COMPILE_DL_”(注意全大写,默认加入的),取消预定义“LIBZEND_EXPORTS”(否则不可引入zend函数)。 6、设置好以后,进行编译,会生成一个dll文件,文件名是.dll,比如在我们的例子中就为foo.dll 把foo.dll拷到e:\app\ext目录下,并在php.ini里加上一行extension=foo.dll,重启一下apache,查看phpinfo();,会发现我们的PHP扩展foo()已经加载进来,已经可以使用这个foo扩展了。 http://info.codepub.com/2008/08/info-21426.html

2009-11-02 · 1 分钟 · admin

在Windows上安装Python+MySQL 的常见问题及解决方法

验证是否已经安装了MySQLdb: ========================================================== d:\usr\local\Python25>python Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] onwin32 Type "help", "copyright", "credits" or "license" for more information. >>> import MySQLdb Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named MySQLdb ========================================================== 如果有类似于上面的"No module named MySQLdb",表明MySQLdb尚未安装或安装的不成功! MySQL 版本:5.0.67 下载地址:http://dev.mysql.com/downloads/mysql/5.0.html#downloads 下载exe文件并安装 ========================================================== Python 版本:2.5 下载地址:http://www.python.org/download/releases/2.5.4/ 下载msi文件并安装 MySQLdb版本: MySQLdb Windows binary for Python 2.5 下载地址:http://biohackers.net/wikiattach/Python2(2e)5/attachments/MySQL-python.exe-1.2.1_p2.win32-py2.5.exe 参见:http://forums.mysql.com/read.php?50,129618,140611#msg-140611 常见问题: 1.无法定位程序输入点 mysql_server_init 于动态链接库 LIBMYSQL....

2009-09-28 · 2 分钟 · admin

BOM--字节序标记

读代码的时候看到这样一段 $template_content = str_replace("\xEF\xBB\xBF", ‘’, $template_content); 不知道是何作用,经过一番查找资料,终于解开了这个疑问 资料如下: 在window下面用记事本编辑文件的时候,如果保存为UNICODE或UTF-8,分别会在文件的开头加上两个字节“\xFF\xFE”和三个字节“\xEF\xBB\xBF”。在读取的时候就可能会遇到问题,但是不同的环境对这几个多于字符的处理也不一样。(其他的文本编辑工具也存在这个问题,但是可以选择去除bom,如editplus的设置:参数选择->文件->utf-8, 选择总是删除签名) 如果前面三个字符“\xef\xbb\xbf”则保存格式是utf-8 如果前两个字符是“\xff\xfe”则保存格式是Unicode Unicode规范中有一个BOM的概念。 BOM——Byte Order Mark,就是字节序标记。在这里找到一段关于BOM的说明: 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little- Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。 UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。Windows就是使用BOM来标记文本文件的编码方式的。 容易导致header session_star ob_start的问题,utf-8编码的文件中,BOM占3个字节,由于php设计时没有考虑BOM的问题,这三个字节会直接输出,如果这时在程序里调用了session函数,就会出问题了 附:文件应该使用 Unicode (UTF-8) 编码保存。同时不要使用 字节序标记(BOM) 。与 UTF-16 和 UTF-32 不同,UTF-8 编码的文件不需要指明字节序,而且 字节序标记(BOM) 在PHP中会产生预期之外的输出,阻止了应用程序设置它自己的 头信息。应该使用Unix 格式的行结束符(LF)。

2009-09-23 · 1 分钟 · admin

错误734:PPP链接控制协议终止

今天无聊拿手机和电脑蓝牙连接通过 gprs 上网试一下,不料确遇到这个错误,在网上找了一下 在硬件设备里面找到手机MODEM的驱动,点属性,找到额外初始化命令,填入 AT+CGDCONT=1,"IP","CMNET" 不错,可以正常上网了,不过我的上网方式不区分 wap 和 net 所以用的 net 呵呵

2009-09-05 · 1 分钟 · admin

将svnserver 注册为系统服务

sc create svn binpath= “D:\soft\Subversion\bin\svnserve.exe –service -r E:\svn\local” displayname= “Subversion Server” depend= Tcpip start= auto 刚重装完系统记录一下,

2009-07-07 · 1 分钟 · admin

Thinkpad R61I 驱动下载及安装方法 for windows 2003

驱动下载方法:把下面的链接复制到浏览器地址栏后按回车 –> 鼠标左键单击页面中.exe结尾的连接 –> 在新弹出的窗口中选择“FTP”或“HTTP” –> 鼠标左键单击“I agree”后选择保存。 几点提醒: 1、请不要使用迅雷、快车等第三方下载工具下载驱动,会造成下载不完整无法安装。 2、请尽量按照下列驱动的排列的先后顺序安装。 3、设备管理中常见的未知设备一般为ACPI电源管理器和TPM安全芯片,如果出现未知设备,请首先尝试安装其驱动。 4、GHOST安装的系统有可能存在驱动无法安装的情况,建议不要使用GHOST安装系统。 5、使用GHOST安装系统后如出现小红帽不可用的情况,请在设备管理器中删除“鼠标和其它指针设备”下面有感叹号的设备,然后重启系统,小红帽即可使用。 1,INTEL主板芯片组(设备管理器中显示为:SM BUS控制器) http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-67818 默认释放路径C:\DRIVERS\WIN\INTELINF\INFINST_AUTOL.EXE 2,NVIDIA显卡驱动:TYPE为( 7742, 8918)的R61I请安装此款显卡驱动:NVIDIA Quadro NVS 140M / Quadro FX 570M显卡 (设备管理器中显示为:VGA视频控制器) http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-67924 默认释放路径C:\DRIVERS\WIN\DISPLAY\SETUP.EXE 3,INTEL显卡驱动:TYPE为(7650, 7732, 8932, 8943)的R61I请安装此款显卡驱动:Intel X3100集成显卡(设备管理器中显示为:VGA视频控制器) http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-67838 默认释放路径C:\DRIVERS\WIN\DISPLAY\SETUP.EXE 4,INTEL千兆以太网卡驱动:TYPE为(7732, 7742, 8918)的R61I请安装INTEL千兆以太网卡 (设备管理器中显示为:以太网控制器) http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-67829 默认解压路径 C:\DRIVERS\WIN\ETHERNET\APPS\SETUP\SETUPBD\Win32\SetupBD.exe 或C:\DRIVERS\WIN\ETHERNET\APPS\PROSETDX\Win32\DxSetup.EXE 5,Broadcom千兆以太网卡驱动:TYPE为(7650,8942, 8943)的R61I请安装Broadcom千兆以太网卡(设备管理器中显示为:以太网控制器) http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-58618 默认解压路径 C:\DRIVERS\WIN\ETHERNET\WINXP\IA32 ,在设备管理器中以太网控制器上点右键选择更新驱动程序->指定位置安装,指定到此目录搜索安装。 或C:\DRIVERS\WIN\ETHERNET\TOOLS\DRVINST\IA32\SETUP.EXE 6,Thinkpad 11b/g无线网卡驱动:TYPE为(7650, 7732, 7742, 8943)的R61I请安装Thinkpad 11b/g无线网卡(设备管理器中显示为:以太网控制器)(部分R61I没有配置无线网卡,不需要安装此驱动程序,请继续安装其他驱动程序) http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-52527 默认释放路径C:\DRIVERS\WIN\WLLANATH\SETUP.EXE 7,INTEL无线网卡驱动:TYPE为(8918)的R61I请安装INTEL无线网卡 (设备管理器中显示为:网络适配器)(部分R61I没有配置无线网卡,不需要安装此驱动程序,请继续安装其他驱动程序) http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-62875 默认释放路径C:\DRIVERS\WIN\WLANINT2\XP\Apps\x32\iProInst.EXE 8,声卡KB888111补丁(PCI-DEVICE,KB888111) http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid;=MIGR-65456 默认释放路径:打开下载页面选择第五个简体中文版下载kb888111xp2chs.exe(如您安装的是其他语言版本的WINDOWS系统,请选 择相应语言版本下载安装),下载完后直接双击安装。注意:只有先安装KB888111补丁,才能安装声卡和调制解调器驱动。 9,SoundMax声卡驱动:(TYPE为7732, 7738, 7742, 7743, 7755, 8914, 8918, 8942, 8943的R61I请安装此声卡驱动程序)(设备管理器中显示为:High Definition Audio总线上的音频设备)...

2009-07-07 · 1 分钟 · admin

Windows Server 2003 Enterprise x64 Edition 更新到sp2的郁闷

更新完没有重起,过一阵子远程弹出 An error occurred while the wizard was checking the current Windows product license. Error Code: 0x8007007f 比较郁闷,没办法只能机房重起,解决了

2009-04-13 · 1 分钟 · admin

查看免激活版序列号

打开光盘到i386文件夹里找winnt.sif文件

2009-04-12 · 1 分钟 · admin

windows2003不能上网更新及注册码更换问题解决

先打开注册表,在 HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\WPAEvents 随便修改一个字,并保存退出regedit。 然后到c:\windows\system32\oobe下 运行msoobe /a 打开激活程序。 选择电话, 更换密钥为 JCGMJ-TC669-KCBG7-HB8X2-FXG7M 或 JK6JC-P7P7H-4HRFC-3XM7P-G33HM 然后关掉窗口不要管那个什么四个步骤 update即可 然后重启。 点击“Windows Update”,连接到更新网站,试一下是否可以在线升级和更新了。 以上方法就可以更换cd key了。。注册码写错了的可以改。。。

2009-04-12 · 1 分钟 · admin

windows远程登陆端口的修改方法

Windows终端服务原始端口是3389 一、服务器端: 1、第一处 运行RegEdit,打开注册表编辑器。找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp],看到右边的 PortNumber 了吗?在十进制状态下改成你想要的端口号吧,比如 7126 之类的,只要不与其它冲突即可。 2、第二处 运行RegEdit,打开注册表编辑器。找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp,方法同上,记得改的端口号和上面改的一样就行了。 二、客户端: 最简洁的方法就是拷贝WindowsXP的终端服务客户端程序,不用安装,只有1M多,登录只需在地址栏输入IP+:+端口号。 另,Windows2000 也可作如下修改: 打开客户端管理连接器,单击已经建好的某个连接,单击“文件(File)”→“导出(Export)”…… 用记录本或其它文本编辑软件找开刚导出的这个.cns文件,找到“Server Port=3389”这一行了吗? 把这个默认的 3389 改成与服务器一样的端口号就行了。 Windows XP/2003 下的修改办法 使用WindowsXP或Windows2003的客户端,它可以显示多彩,还可以有声音,功能更强大。但终端客户端连接端口的修改方法与Windows2000有一定区别: 按照原来更改Windows2000的客户端的思路,把WindowsXP、Windows2003的默认配置另存(在连接界面上单击“另存为”),和Windows2000不一样的是:WindowsXP、Windows2003的配置文件后缀是.rdp,Windows2000的是.cns 用记事本打开这个default.rdp文件,在里面没有发现什么3389的东东(Windows2000的配置文件是有的),没有这句端口的配置我们就给它加上,假定现在的端口为8933,如下: server port:i:8933 保存,退出即可。

2009-04-12 · 1 分钟 · admin

Windows Server 2003企业版 Enterprise Edition VOL(VLK) 简体中文企业正式版原版光盘镜像

企业版(64bit)Version: Microsoft Windows Server 2003, Enterprise Edition (64-bit)Filename: x09-45916.iso Product Key: CTQTP-3XXXX-YT7JT-DVMH7-46Q2J

2009-04-12 · 1 分钟 · admin

[MSDN]Windows Server 2003 R2, Enterprise Edition with SP2 - VL (简体中文)

Windows Server 2003 SP2是针对Windows Server 2003和Windows XP 64位专业版而设计,它集成了最新的升级、安全与稳定性增强包和最新功能。据微软透露,SP2的采用率从发布以来直线上升,它表示自推出不到一周,总下载次数就已经超过400,000次。 参考KEY: VB96B-VFG8F-74XWJ-W67Q7-8X82B M6F6D-VFQWH-CGWRB-RC7JR-VCV4W C49DP-CPHCB-MDGP3-MG334-W2V4W DR4B3-66VPQ-CK3VB-Y3BPY-2CJ2G J YCJX-CHTJX-RGH97-86WM9-RB6B6 MVDYF-X7FBW-H29XT-TCKWW-RBYRT BXJXT-9F88V-XXQWV-3MWMG-FYDJT MHFT3-YGHV4-G86P4-KQXJ3-GYH4W MDGJK-PF6YQ-PD8DJ-RFQVM-7WKWG QV9XT-CV22K-D8MGR-4MD86-8MYR6 MDGJK-PF6YQ-PD8DJ-RFQVM-7WKWG btr9t-8bjjm-k9dh8-w8grh-7qbqy btvtj-8jdph-6r8xk-6xhyq-6qrdy btr9x-4x8ty-2y3w2-jyw3c-tbpmb btt8k-djkyj-x2m9c-kd6rj-db6bb bt3by-cmdtc-twyx3-kfqqq-g3kvm btyqc-347pg-9kb4h-dphh4-rdwyb btv3w-xyb3j-rj9mf-qbkdw-4qbqy btrfk-m749t-f6my2-8mc6w-g2fdy btv4w-jqx3w-y6wkp-dxjc7-7qbqy btrrd-kpkh6-v9jfq-c7dv9-9kg7m btqhd-kmr67-36m66-8kcrr-fxtbb btq8x-6mj6m-vrjvq-c7x82-v2fdy btw6c-6tjmw-3rmw7-3d2vd-pfcmb bt2h3-kwt84-cxvxm-wdgqx-7tpmb btqdm-vpch2-vfcpk-4696j-yv2mb btxy7-tth4f-7jjmm-q4gmg-x7fdy bttdh-rt9bp-6c38g-v6bp9-pxmqy 安装序列号 CD-KEY:JB88F-WT2Q3-DPXTT-Y8GHG-7YYQY 安装序列号:JCGMJ-TC669-KCBG7-HB8X2-FXG7M 使用这个序列号 Windows Server 2003 可在线升级! 如果已经安装了 Windows Server 2003 Enterprise Edition 3790 操作系统,安装时使用了 JB88F-WT2Q3-DPXTT-Y8GHG-7YYQY 这个安装序列号或其他的号,正常激活系统但不能在线升级的, 你可以不需要卸载掉原来的操作系统重新使用 JCGMJ-TC669-KCBG7-HB8X2-FXG7M 进行安装了, 就立即可以实现在线升级了!

2009-04-12 · 1 分钟 · admin

Windows Server 2003 R2 with SP2 x32/x64 MSDN简体官方企业/标准版[附真正激活KEY]

附上KEY,通用于windows2003 标准版,企业版,SP1,SP2,R2(此KEY网上基本未公开) 附32位KEY T274Y-RT6TY-QYXJC-H6K66-3MT7M H32XR-3KT6X-B83DT-YWM3T-8Q3JG DF33F-WMT84-KDPKT-FQBRG-7YH4T BYR7R-QTCG2-JRJWJ-BJPGP-XDKWG RW89D-BPHQ9-Y77PD-FPYHP-JJ3JG G9DRJ-PBH7J-KQFCF-9PCJG-3VV4T GXJ7R-PDJKW-7TMRK-VT6JC-G4XWG 附64位KEY MM72Q-QBVRW-JGDB6-94C22-GR8YJ HFKHT-CF86J-KFM6F-34RXX-HYYQ8 RYCR6-T7Y6M-2TVHK-C2YW3-7TYQ8 BTXT2-YJ7CH-6MH2Q-X2WD7-77FDY

2009-04-12 · 1 分钟 · admin