技术类-C/C++/MFC
还没淹死的鱼
除职业编码外,在大学足球、高中化学、初中数学、小学作文等多方面有所建树。
展开
-
strcpy挺复杂
标准程序是:char *strcpy(char *strDest,const char *strSrc) { assert((strDest!=NULL)&&(strSrc !=NULL)) char *address = strDest; while((*strDest++ = *strSrc)!原创 2007-09-24 16:15:00 · 702 阅读 · 0 评论 -
最近用vc重写了xampp控制面板
虽然xampp时开源的,但开发语言是delphi,一个原因是不熟,另外还引用了一些支持库,担心涉及到版权问题,因此全部重写。我的程序只用了windows api,不需要任何第三方库支持,虽然界面寒碜点,但功能完整经过一个多月的测试,已稳定运行,server2008和win7 的32位和64位都支持。原创 2017-06-20 14:42:01 · 363 阅读 · 0 评论 -
xml验证:schema文件的写法
<br />下面两个文件互相包含,可以解决绝大部分xml的语法问题:<br /> <br />test.xsd内容如下:<br /><?xml version="1.0" encoding="UTF-8"?><br /><xs:schema xmlns="http://www.idpf.org/2007/opf" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetName原创 2011-05-03 14:03:00 · 757 阅读 · 0 评论 -
mfc写的socket服务器压力测试通过了
性能: 50条/秒没啥问题, 但坚持不过2分钟......15条/秒那是相当地稳定. 经验总结:1. 写服务器端的程序, 还是不要用mfc的好, 否则内存泄漏都没地方找去......用控制台程序是个很好的选择2. 只是socket承受住压力还不行, 数据库, 写日志, 算法函数的效率都要提高才行. 曾经发过一个帖子, 可惜没人回答准确, 看来还得自力更生啊原创 2009-11-26 16:55:00 · 1154 阅读 · 0 评论 -
在vs2005下用c++写Windows服务出现的问题
用向导做了一个简单的windows服务,安装成功后(需要添加安装程序),开始动手。 刚开始用向导生成的windows服务项目,把监听程序放在OnStart函数里,虽然可以运行,但服务无法启动,老失败,然后监听也失败。 又把监听程序放在一个线程里,在OnStart里创建线程,虽然创建线程成功,但线程无法运行,好像死了一样,提升优先级,唤醒都没用。 放在tmain里也不行。原创 2009-10-16 16:29:00 · 829 阅读 · 1 评论 -
交换两数,不使用第三变量,且考虑溢出问题
乍看到这个问题觉得挺简单,但是看到需要考虑溢出就不知从何下手后来看到一解法,觉得很有趣: void swap(int &x, int &y){ x = x ^ y; y = x ^ y; x = x ^ y;} 一开始觉得奇怪,为什么会这样,后来随便拿了两个数字验证了一下,结果果然是这样 x: 000110101y: 011010111x=x^y:转载 2009-09-07 11:55:00 · 499 阅读 · 0 评论 -
昨天搞定了CListCtrl的编辑子项的问题
其实很简单, 用控件的SubItemHitTest方法确定选定子项, 然后调用EditLabel方法. 再将EditLabel方法进行子类化处理, 无非就是处理控件的LvnBeginlabeledit和LvnEndlabeledit消息, 源代码如下: void CMultiPublishDlg::OnNMDblclkListCustomer(NMHDR *pNMHDR, LRESULT原创 2009-06-26 16:00:00 · 938 阅读 · 0 评论 -
ActiveX终于可以从服务器自动下载并注册了
根据一个正版程序里的注册方法, 修改了我的控件的注册方法, 终于可以执行了. 控件必须发布到服务器上, 客户端注册成功后才能执行.注册后好像放在C:/Windows/Downloaded Program Files, 成功后会显示控件名字的, 否则显示uuid, 或状态为已破坏,已拔出等等. 另外,在xp下可以删除文件, vista必须到dos下才行, 但如果文件长度为0时不行, 奇怪原创 2009-04-24 11:51:00 · 728 阅读 · 1 评论 -
我的第一个翻译作品 - Acrobat core API中的两章
第2章 理解插件这一章提供一个总览,插件如何被载入,被初始化,被卸载,以及其它与插件和PDF库应用相关的概念。推荐你在开始开发插件或PDF库应用之前阅读本章节。第1节 关于插件初始化这部分描述Acrobat或Adobe Reader执行初始化插件的操作顺序。插件载入和初始化:当Acrobat或Adobe Reader启动时,自动检索/Program Files/Adobe/Acrobat/原创 2008-10-23 10:49:00 · 3680 阅读 · 0 评论 -
获取硬盘序列号的方法总结
硬盘有多种牌子,型号。。。接口有IDE, SCSI, SATA......操作系统有win98, 2000, xp, vista...... 在网上找了好几天,多数都是抄来抄去的,或者是八九年以前的旧程序,真正能用的很少。皇天不负有心人,还是被我找到了,稍加改动,可以在2000/xp下读取IDE/SATA接口的硬盘序列号,至于VISTA。。。。。。必须借助DISKID32了,L原创 2008-10-15 10:05:00 · 1268 阅读 · 2 评论 -
TinyXml不写入文件,直接写入字符串的办法 - 好不容易才找到
TiXmlPrinter printer; TextElement->Accept(&printer); strResult.Format("%s", printer.CStr()); 前提是还要新建一个TiXmlDocument doc;顺序插入decalration, RootElement, ChildElement......原创 2008-08-20 10:47:00 · 2004 阅读 · 1 评论 -
tinyXML学习笔记(2)
上次是从XML文件里读取节点, 很简单, 这次把修改调通了. CString csLogPath; m_edit_logpath.GetWindowText(csLogPath); TiXmlElement* pElmChild = NULL; // 一个指向Element的指针 TiXmlElement* pElmRoot = NULL; // 根节点 TiXmlDec原创 2008-08-05 13:35:00 · 1389 阅读 · 0 评论 -
搞清了两个问题: 查询TCP端口状态 以及 如何弹出右键菜单
查询端口状态用VC有点麻烦, 搞不好还要安装WindowsSDK, 又因为版本问题搞得东一榔头西一斧子, 还不如直接下载IPHLPAPI.LIB和Iphlpapi.h, 链到工程里就能用了, 虽然是2003年的, 不过期就行, 管它呢.其实主要就是为了使用函数GetTcpTable, 绕这么一大圈子, 真麻烦. 右键菜单的步骤:1. 在资源里添加一个菜单资源;2. 添加子菜单原创 2008-08-01 10:35:00 · 862 阅读 · 0 评论 -
centos7上安装opencv3.3.1,成功运行
参考了别人写的文章,但不是完全适合自己用,其中有不正确的地方,所以做了一个汇总:1. 先yum update,确保本地环境都是最新的。2. 编译opencv-3.3.1 之前,安装好 cmake make python gtk+等 相关工具: yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gi原创 2017-11-29 18:08:54 · 1134 阅读 · 0 评论