C/C++
ffb
这个作者很懒,什么都没留下…
展开
-
[备忘录] JNI:Java和C++的互相调用
Java-->C++方向:首先,用native声明接口,这个接口是留给C++来实现的package com.hoker;public class IVCDll { static { System.load( "IVCDll.so" ); } public static native int initDll();}方法的名称和DLL导出函数的名称无关,可以随原创 2007-08-21 16:46:00 · 996 阅读 · 0 评论 -
一个socket连接、发送、接收数据失败后是否可以重新进行连接的问题
原文:http://stackoverflow.com/questions/2237489/reusing-socket-descriptor-on-connection-failure当一个socket连接、发送、接收数据失败后,应该首先close这个socket,再进行重新连接。原创 2013-07-25 10:38:12 · 1930 阅读 · 0 评论 -
php中的mysql连接字符串注意事项
原帖地址:http://blog.csdn.net/ffb/article/details/8895630php里有三套操作mysql的库,分别是自带的mysql系列函数、mysqli和mysqlpdo。这三套库的下层又使用了两个数据操作引擎,分别是libmysql和mysqlnd,具体使用哪个引擎由php编译时决定。在实际使用这三个库的时候,存在一个小的问题,就是连接字符串的写法原创 2013-05-07 16:32:43 · 3845 阅读 · 2 评论 -
telnet协议解析中的难点
类似下面的数据:telnet终端的vi模式下,用户输入了一个echo aa bb cc dd命令,然后回车执行请求:0000 0d 00 ..响应:0000原创 2011-10-17 16:13:54 · 1575 阅读 · 0 评论 -
zlib解压缩时对破损数据的处理
最近碰到的问题,被zlib压缩的数据的前段数据丢失,导致后续数据无法解压缩,但经过实验,发现zlib已经提供的很强的容错能力,问题最终解决。举例如下:方式1:使用Z_SYNC_FLUSH参数分段压缩,整体解压缩while ((i = read(r_fd, in_buf, 3)) > 0) {in_len += i;buffer_compress(in_buf, i, ptr, &out_len);ptr += out_len;}buffer_uncompress(compress_buf原创 2011-03-31 11:19:00 · 3812 阅读 · 2 评论 -
一个很深的bug - 句柄被异常关闭
<br />昨天系统出现了问题,现象是日志从进入守护进程模式后就再也不出了,检查了半天也没查出问题。<br />下午的代码走查会议,无意中找到了问题的原因。<br />原来一个模块新加的初始化函数被放到了日志模块的初始化函数之前,那个初始化函数对一个未初始化的句柄数组逐一执行了close操作。<br />数组中其中一个成员为0-3之间的数值,导致了日志模块初始化的时候,open日志文件时候得到的句柄为0-3之间的数字,然后进入守护进程的函数里在fork之后执行了对0-3的close,这导致了日志文件的句柄被原创 2011-05-13 11:55:00 · 1184 阅读 · 2 评论 -
暂时放弃VC2008
对2008忍无可忍,决定暂时放弃它,回到VC6+VC2003的时代。最主要的问题是CPU100%的问题,伟大的IntelliSense,每次一打开项目,他就要占100%的CPU,我只能在一旁老老实实等着他老人家工作完,等个一两分钟那算你幸运,等个七八分钟再也不响应了,也不是什么新鲜事。网上查到只要把/VC/vcpackages/feacp.dll改名就行了,我试验了,有效,关键是我再也无法原创 2008-06-30 11:06:00 · 1584 阅读 · 0 评论 -
STL迭代器:循环中删除
直接删除肯定不行,不然我的程序也不会崩溃了。首先尝试了下面的方法,很笨IEnumCbCmdResponseFuncs::iterator itor;for (itor=m_Funcs.begin();itor!=m_Funcs.end();itor++){ ResponseFunc pFunc = *itor; if (!pFunc.enable)原创 2008-06-16 16:16:00 · 985 阅读 · 0 评论 -
[RDP]A glyph is a bitmap representation of a character
关于RDP中的文本是如何取出的,一直不得其要领,在MSDN上看到的一句有关的话RDP text is displayed by using glyph caching. Almost immediately, theclient builds up the required set of glyphs, and the server needs onlytransmit a short h原创 2008-08-08 18:25:00 · 1569 阅读 · 3 评论 -
写文件速度测试
测试了不同方法写文件的时间,测试环境是IBM T42:代码一: char *data=new char[1024*1024]; int t0 = GetTickCount(); FILE *pFile = NULL; pFile = fopen("D:/test1MB_C.dat", "a+"); fwrite(data, 1024*1024,1,pF原创 2008-05-27 16:33:00 · 1171 阅读 · 2 评论 -
C++的Format
他们管这个叫C++的format,其实这种方法也比较诡异std::ostringstream strSQLS;strSQLS "WHERE FRAMEIP = " szIp " and LOGINTIME" time1 " AND LOGOUTTIME>=" time1原创 2008-05-21 17:01:00 · 874 阅读 · 0 评论 -
是STL的错误吗?(续)
特定情况下,以下的写法导致最后一个单引号没加上(display为std::string对象):写法1:string strSQL;strSQL = "WHERE APPEAL_DISPLAY=";strSQL.append(display);strSQL.append(" "); 写法2:string strSQL = "WHERE APPEAL_DISPLAY=原创 2008-05-21 15:12:00 · 797 阅读 · 4 评论 -
[OCI] OCI基础学习笔记:Select的方法
#include OCIEnv *m_pOCIEnv; OCIError *m_pOCIError; OCISvcCtx *m_pOCISvcCtx; OCIStmt *m_Insertp; OCIStmt *m_pOCIStmtSelectR; OCIBind *m_Bndhp; 登录:原创 2008-05-13 18:53:00 · 1442 阅读 · 2 评论