
开发(基础)
leehq
这个作者很懒,什么都没留下…
展开
-
让SVN能正确显示中文信息
我的svn在windows的命令行下输入命令svn help,就会出现类似下面的字符?/226?/128?/157?/228?/187?/165?/229?/190?/151?/229?/136?/176?/231?/148?/168?/230?/179?/149?/229?/146?/140?/229?/184?/174?/229?/138?/169?/227?/128?/130svn要原创 2007-02-09 10:12:00 · 6175 阅读 · 0 评论 -
小心pthread_cond_signal和SetEvent之间的差异
pthread_cond_signal有陷阱。转载 2010-09-21 14:03:00 · 684 阅读 · 0 评论 -
关于iconv容易忽略的参数IGNORE
解决iconv因为无法处理某个字符而导致转换中断的问题。转载 2010-07-27 15:20:00 · 3967 阅读 · 1 评论 -
解决php不能编译bcmath的问题
在编译php的bcmath模块时,会出现类似下面的错误: error: _zero_ undeclared (first use in this function) 这是因为bcmath的代码bug引起的,编辑bcmath的“libbcmath/src/bcmath.h”文件,在“#include "bcmath.h”之前插入以下内容:#include "../../confi原创 2010-04-06 16:35:00 · 1846 阅读 · 0 评论 -
MySQL 一次执行多条语句的实现及常见问题
代码如下://链接时设定 mysql_real_connect( ..., CLIENT_MULTI_STATEMENTS ); //或者 //中途指定 mysql_set_server_option( mysql, MYSQL_OPTION_MULTI_STATEMENTS_ON ); //mysql是连接的名称 当使用执行多语句功能后,一定要读完整个resault集,否则会出现错转载 2010-01-04 15:08:00 · 1456 阅读 · 0 评论 -
在Visual C++中集成DDK/WDK
要在Windows下开发驱动程序,最直接的方法就是用免费的WDK(Windows Driver Kit)。但是WDK只提供了命令行下运行的编译和链接工具,并没有IDE,这样对于那些用贯了Visual C++的开发者会来说有些不方便。要把WDK集成到Visual C++里,要对项目进行如下设置:1 - 新建一个DLL项目,把驱动程序的源代码都添加到项目中,打开项目的属性页对话框。2 - 展开“C/C原创 2009-04-07 15:03:00 · 2786 阅读 · 3 评论 -
CRC32碰撞的实现
标 题: CRC32碰撞的实现作 者: DonQuixote时 间: 2004-12-20,19:31链 接: http://bbs.pediy.com/showthread.php?t=8699昨天晚上开始学习CRC32,发现这个HASH实际上应该很容易得出碰撞,下面给出一种生成碰撞的算法用CRC32对长度为N的数据效验,初始效验值为0xFFFFFFFF,经过N轮以后得到的值转载 2009-04-08 09:40:00 · 2210 阅读 · 0 评论 -
使用wxWidgets开发的一点心得
使用wxWidgets开发的一点心得 1 在动态链接库中使用wxWidgets 从wxWidgets的官方网站了解到,要在动态链接库里使用wxWidgets不能简单地用wxApp替换DllMain,而是要在DllMain中创建一个线程,有这个线程来进行wxWidgets的初始化。例子:/** * wxWidgets线程入口函数。 */DWORD WIN原创 2008-12-24 12:03:00 · 3335 阅读 · 0 评论 -
WDK/DDK中去掉 error C2220: warning treated as error - no ‘object’ file generated
出现这个提示是因为默认情况下WDK编译代码时把所有警告都当成了错误,只须要在项目的makefile文件最后一行加入MSC_WARNING_LEVEL=/W3即可忽略这些警告信息。原创 2009-01-19 17:50:00 · 3720 阅读 · 1 评论 -
用Lighttpd加脚本实现服务器端可进行身份验证的HTTP断点续传下载
在客户端提交的请求中如果有头部字段“Range”,就表明客户端只须要接收目标文件的部分内容。这时需要接受请求的脚本程序判断Range头的内容,然后给lighty的content属性制定如下格式的值:{{filename = 文件路径,offset=文件内容的起始位置,length=要获得的文件内容大小}}以下为LUA代码例子:range_str = lighty.request["R原创 2009-01-14 12:57:00 · 1104 阅读 · 0 评论 -
Delphi和C的枚举兼容问题
前几天用C做了个函数库给程序部,程序部那边把库里的所有声明原封不动转为Delphi的语法以便在Delphi中调用,结果老是莫名其妙出问题,后来把他们的程序拿过来调试,才发现是枚举惹的祸··· 原来在Delphi中枚举类型的大小为一个字节,而32位系统下C中的枚举类型通常为4四个字节。当Delphi调用C的函数时,那些枚举类型的参数只有一个字节是正确的值,其它三个字节为错误数据,这样将原创 2009-01-14 12:56:00 · 876 阅读 · 0 评论 -
控制台下设置本地化输出
ANSI C标准函数可以用来设置当前本地化信息,在Windows系统下,控制台程序并没有默认的本地化信息,所以需要调用setlocale函数来设置。如果执行 setlocale(LC_ALL,"") 则设置为系统默认的本地化信息,注意第二个参数为空字符串而不是NULL。原创 2009-01-14 12:59:00 · 480 阅读 · 0 评论 -
控制台下特殊控制符的ASCII码
在控制台程序里如果用户按下Ctrl+就算是特殊控制符,这些字符同样可以被getch函数捕获,它们的ASCII码是0-25之间的数字,从A开始。原创 2009-01-14 12:55:00 · 1283 阅读 · 1 评论 -
注意CreateThread引起的内存泄漏
在Windows下用Visual C++编写应用程序不少人会直接使用API函数CreateThread来创建线程,如果在这样的线程中调用了Microsoft C运行时库的函数库或变量时(例如:sprintf;errno),可能会导致内存泄漏。因为Microsoft C运行时库须要给每个线程分配一些资源,但是CreateThread创建线程时Microsoft C运行时库并不知道,那些资源也原创 2009-01-13 10:58:00 · 1952 阅读 · 0 评论 -
在Linux不要使用 gethostbyname
在Linux下编写基于Socket的客户端程序时,很多人会调用gethostbyname函数来解析一个主机名以获得要连接的主机信息。这样在单线程时没有问题,如果是多个线程同时调用gethostbyname时,由于它的返回值始终是指向一个预先分配的内存地址,所以会出现不可预料的结果。 在Windows下,Winsock使用TLS(线程本地存储)来分配该函数的返回值,这样保证了不同的线程原创 2009-01-07 20:35:00 · 3126 阅读 · 0 评论 -
基于命令行程序如何判断自己被终止
基于命令行的程序在当今各个操作系统上都应用得非常广泛,但是这些程序没有GUI,所以用户要终止它们时通常都是按"Ctrl+C"或用系统命令直接结束进程,这样可能会造成数据丢失或者一些特殊资源没有释放,因此须要编写一段代码在程序被终止前作一些自己的结束工作。ANSI C已经提供了一个标准函数signal来捕获命令行的中断信号。这是该函数在Linux下GCC中的原形:typedef void (原创 2007-04-27 18:32:00 · 2065 阅读 · 0 评论 -
让用MinGW编译的程序使用Unicode命令行参数
让用MinGW编译的程序使用Unicode命令行参数原创 2011-06-01 11:23:00 · 2279 阅读 · 0 评论