<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Que's C++ Studio]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/querw</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; querw]]></copyright><item><title><![CDATA[重做填坑: 获取外网IP并发送邮件通知]]></title><link>https://blog.youkuaiyun.com/querw/article/details/134418544</link><guid>https://blog.youkuaiyun.com/querw/article/details/134418544</guid><author>querw</author><pubDate>Wed, 15 Nov 2023 14:07:52 +0800</pubDate><description><![CDATA[获取公网IP地址,并发送邮件通知]]></description><category></category></item><item><title><![CDATA[训练自己的 Tesseract LSTM模型用于识别验证码]]></title><link>https://blog.youkuaiyun.com/querw/article/details/128288715</link><guid>https://blog.youkuaiyun.com/querw/article/details/128288715</guid><author>querw</author><pubDate>Mon, 12 Dec 2022 16:28:00 +0800</pubDate><description><![CDATA[训练自己的 Tesseract LSTM模型用于识别验证码]]></description><category></category></item><item><title><![CDATA[VIM 适用于 LOG 文件的语法高亮配置]]></title><link>https://blog.youkuaiyun.com/querw/article/details/127537571</link><guid>https://blog.youkuaiyun.com/querw/article/details/127537571</guid><author>querw</author><pubDate>Wed, 26 Oct 2022 18:01:43 +0800</pubDate><description><![CDATA[VIM 配置 LOG 文件语法高亮]]></description><category></category></item><item><title><![CDATA[jjson - 支持注释的 json 和 javascript 对象解析之 Python 模块]]></title><link>https://blog.youkuaiyun.com/querw/article/details/120430651</link><guid>https://blog.youkuaiyun.com/querw/article/details/120430651</guid><author>querw</author><pubDate>Thu, 23 Sep 2021 10:56:44 +0800</pubDate><description><![CDATA[jjson - 支持注释的 json 和 javascript 对象解析模块
by Que's C++ Studio

代码请移步 githubTedQue/jjson: python module for parsing json string and javascript object (github.com)

主要特性:
1. 支持 # 注释,从 # 开始到行尾的字符将被忽略
2. 支持 JavaScript 对象解析为 Python 字典

缺点:
1. 递归实现,解析超大字符串时可能导致栈溢出.]]></description><category></category></item><item><title><![CDATA[一种 Windows IOCP 整合 OpenSSL 实现方案]]></title><link>https://blog.youkuaiyun.com/querw/article/details/117638793</link><guid>https://blog.youkuaiyun.com/querw/article/details/117638793</guid><author>querw</author><pubDate>Sun, 06 Jun 2021 23:40:04 +0800</pubDate><description><![CDATA[TedQue/IOCP_SSL_Demo: IOCP integrate with OpenSSL (github.com)
]]></description><category></category></item><item><title><![CDATA[一种文本编辑器和控制台实现方案]]></title><link>https://blog.youkuaiyun.com/querw/article/details/117479847</link><guid>https://blog.youkuaiyun.com/querw/article/details/117479847</guid><author>querw</author><pubDate>Wed, 02 Jun 2021 19:31:40 +0800</pubDate><description><![CDATA[一种文本编辑器和控制台实现方案
by Que's C++ Studio 阙荣文 20210602

0. 需求
在所有 Windows 标准控件中, Edit 大概是最复杂者之一.试想一下,实现 Edit 至少需要考虑以下问题:
 选择字体绘制字符
 响应键盘输入
 响应鼠标动作,准确选中指定字符
 访问系统剪贴板,支持热键 Ctrl-C, Ctrl-V 等
 计算长度宽度以正确设置滚动范围
 ...
这些还仅仅是一个标准 Edit 控件的最基本功能,其中的大量细节已经有...]]></description><category></category></item><item><title><![CDATA[xcp - 带有状态显示的 Linux 复制命令]]></title><link>https://blog.youkuaiyun.com/querw/article/details/103943185</link><guid>https://blog.youkuaiyun.com/querw/article/details/103943185</guid><author>querw</author><pubDate>Sun, 12 Jan 2020 09:46:24 +0800</pubDate><description><![CDATA[好长时间没有更新了,偶然看到几年前写的一个复制工具,代码惨不忍睹,所以重写了一遍.

目的: xcp - 代替 Linux 的 cp 命令,复制大量文件时显示进度

实现: 遍历源文件两次,第一次统计,第二次复制

本次更新内容: 用统一的编码风格整理代码,减少递归函数使用的栈空间,调整参数处理方式使之同 cp 的习惯用法保持一致



附1: xcp.c


// #define _FILE_...]]></description><category></category></item><item><title><![CDATA[GDB - <<软件调试的艺术>>读书笔记]]></title><link>https://blog.youkuaiyun.com/querw/article/details/77980224</link><guid>https://blog.youkuaiyun.com/querw/article/details/77980224</guid><author>querw</author><pubDate>Thu, 14 Sep 2017 14:43:15 +0800</pubDate><description><![CDATA[GDB - > 读书笔记
阙荣文 Que's C++ Studio 2017.9.10


0. gcc -g
必须使用 -g 选项编译程序生成"符号表"才能被调试.调试器利用符号表的内容识别函数名,变量名等标识.

1. 栈和帧
程序运行的大致流程: 加载程序文件,找到入口函数,把函数的地址,参数压入堆栈,开始执行该函数,对所有子函数都执行同样的流程.调试器的工作对象就是这个"栈]]></description><category></category></item><item><title><![CDATA[VIM 笔记]]></title><link>https://blog.youkuaiyun.com/querw/article/details/77961969</link><guid>https://blog.youkuaiyun.com/querw/article/details/77961969</guid><author>querw</author><pubDate>Wed, 13 Sep 2017 09:38:00 +0800</pubDate><description><![CDATA[VIM 笔记
阙荣文 Que's C++ Studio


0. 学会的是解决 VIM 相关问题的方法论而不仅仅是一些知识点.

1. 善用 VIM 自带的用户手册 :h
关键在于平时就一直使用 VIM,命令用得多了自然就记牢熟练了.

2. 基本常识 - 掌握之后可以代替Windows下一般的文本编辑器

2.1 VIM 的几种模式: 常规模式/可视模式/命令行模式/插入模]]></description><category></category></item><item><title><![CDATA[关于 Que's HTTP Server 源代码的问题]]></title><link>https://blog.youkuaiyun.com/querw/article/details/77141496</link><guid>https://blog.youkuaiyun.com/querw/article/details/77141496</guid><author>querw</author><pubDate>Sun, 13 Aug 2017 12:39:58 +0800</pubDate><description><![CDATA[1. 原来的下载链接已经用不了,我放到 github 去了: https://github.com/TedQue/QPPHTTPServer 请下载 master 分支, 0.3版的开发已经放弃了.
2. 为什么一直不再更新:
其实我自己一方面一直觉得实在写得乱七八糟拿不出手,另一方面网友们的期待让我觉得承担不起.
总之有点逃避心理.
在网上写文章是责任重大的事,我常常想到我自己写的一些事]]></description><category></category></item><item><title><![CDATA[理解和使用zlib库 - 我个人的救赎]]></title><link>https://blog.youkuaiyun.com/querw/article/details/51569274</link><guid>https://blog.youkuaiyun.com/querw/article/details/51569274</guid><author>querw</author><pubDate>Thu, 02 Jun 2016 18:35:45 +0800</pubDate><description><![CDATA[用我自己的语言解释如何理解和使用 zlib,救赎多年前发布的一篇类似的,自己的一知半解的文章.]]></description><category></category></item><item><title><![CDATA[BMP 和 JPEG]]></title><link>https://blog.youkuaiyun.com/querw/article/details/51533811</link><guid>https://blog.youkuaiyun.com/querw/article/details/51533811</guid><author>querw</author><pubDate>Sun, 29 May 2016 20:53:47 +0800</pubDate><description><![CDATA[站在程序员的角度,小结一下 BMP 和 JPEG 相关的知识,并提供一段把 Windows 屏幕保存为 JPG 文件的代码.]]></description><category></category></item><item><title><![CDATA[打造windows平台下的PHP开发环境]]></title><link>https://blog.youkuaiyun.com/querw/article/details/7739324</link><guid>https://blog.youkuaiyun.com/querw/article/details/7739324</guid><author>querw</author><pubDate>Thu, 12 Jul 2012 10:43:09 +0800</pubDate><description><![CDATA[打造windows平台下的PHP开发环境

准备软件
1. Web服务器.
Que's HTTP Server v0.2
优点: 开源,不需要安装,GUI配置,轻量级,需要时启动不需要时退出就像一个文本编辑器那样,非常方便.
缺点: 没有经过严格测试,有些功能可能没有实现.
总的来说,作为 Que's HTTP Server v0.2 的作者,我认为值得一试.
http://blo]]></description><category></category></item><item><title><![CDATA[用C++实现HTTP服务器V0.2 - 支持PHP]]></title><link>https://blog.youkuaiyun.com/querw/article/details/7739271</link><guid>https://blog.youkuaiyun.com/querw/article/details/7739271</guid><author>querw</author><pubDate>Thu, 12 Jul 2012 10:41:41 +0800</pubDate><description><![CDATA[Q++ HTTP Server v0.20
作者: 阙荣文


下载源码



前言
1. 关于版本号
就像爱因斯坦曾经说过,知道的越多,不知道的也越多.在改进 Q++ HTTP Server 的过称中,我越来越觉得还需要完成的工作太多,我自己有很多知识也不全面,之前的版本妄称1.5岂不是贻笑大方?然而,无知者无畏,因为我们敢想,敢干,敢犯错误,所以我们才能进步.
这个版本就]]></description><category></category></item><item><title><![CDATA[PHP服务器页面间跳转]]></title><link>https://blog.youkuaiyun.com/querw/article/details/7556486</link><guid>https://blog.youkuaiyun.com/querw/article/details/7556486</guid><author>querw</author><pubDate>Fri, 11 May 2012 11:07:31 +0800</pubDate><description><![CDATA[在ASP中,我们可以使用Server.Transfer来实现在服务器端重定向,PHP中虽然没有这样的函数,但是要实现类似的跳转也不难:
(注意不是用 header ,js 等方法做的客户端跳转)


function server_transfer($dest)
{
    global ...; // 把希望在新页面中用到的本页变量或者自定义的全局变量列在这里

    incl]]></description><category></category></item><item><title><![CDATA[static_cast 和 reinterpret_cast]]></title><link>https://blog.youkuaiyun.com/querw/article/details/7387594</link><guid>https://blog.youkuaiyun.com/querw/article/details/7387594</guid><author>querw</author><pubDate>Fri, 23 Mar 2012 15:40:58 +0800</pubDate><description><![CDATA[>
作者: 阙荣文(querw@sina.com)


C/C++是强类型语言,不同类型之间的相互转换是比较麻烦的.但是在编程实践中,不可避免的要用到类型转换.有2中类型转换:隐式类型转换和强制类型转换.

1.隐式类型转换
1.1 提升精度,此种是编译器自动完成的,安全的.所以编译的时候不会有任何错误或者警告信息提示.
示例: > P147
int ival = 3;
dou]]></description><category></category></item><item><title><![CDATA[Windows平台下的读写锁]]></title><link>https://blog.youkuaiyun.com/querw/article/details/7214925</link><guid>https://blog.youkuaiyun.com/querw/article/details/7214925</guid><author>querw</author><pubDate>Wed, 25 Jan 2012 01:43:37 +0800</pubDate><description><![CDATA[Windows平台下的读写锁
简单介绍Windows平台下的读写锁以及实现.

背景介绍
Windows在Vista 和 Server2008以后才开始提供读写锁API,即SRW系列函数(InitializeSRWLock, AcquireSRWLockShared, AcquireSRWLockExclusive等).考虑到目前Windows XP的装机量,只能自己实现一个读写锁了.]]></description><category></category></item><item><title><![CDATA[开放Que's C++ HTTP服务器源代码]]></title><link>https://blog.youkuaiyun.com/querw/article/details/6693909</link><guid>https://blog.youkuaiyun.com/querw/article/details/6693909</guid><author>querw</author><pubDate>Wed, 17 Aug 2011 09:56:31 +0800</pubDate><description><![CDATA[本来也没指望能赚到钱,也不是什么多好的代码.就是想看一看到底有没有可能.
结果一个询价都没有收到,事实证明程序员很不容易,尤其在中国.

独乐乐不如众乐乐,开放源代码,请指教.

有不对的,不完善的,效率不够的或者有更好的解决办法的请指明,不要搞人身攻击,满口粗话,这也]]></description><category></category></item><item><title><![CDATA[关于 wcout 输出中文的问题]]></title><link>https://blog.youkuaiyun.com/querw/article/details/6690954</link><guid>https://blog.youkuaiyun.com/querw/article/details/6690954</guid><author>querw</author><pubDate>Tue, 16 Aug 2011 10:48:47 +0800</pubDate><description><![CDATA[关于 wcout 输出中文的问题
作者:阙荣文
时间:2011/8/16


1. cout

场景1: 在源文件中定义 const char* str = "中文" 在 VC++ 编译器上,由于Windows环境用 GBK编码,所以字符串 "中文" 被保存为 GB]]></description><category></category></item><item><title><![CDATA[C++ TR1正则库使用示例]]></title><link>https://blog.youkuaiyun.com/querw/article/details/6684428</link><guid>https://blog.youkuaiyun.com/querw/article/details/6684428</guid><author>querw</author><pubDate>Sat, 13 Aug 2011 16:23:50 +0800</pubDate><description><![CDATA[C++ TR1正则库使用示例
作者: 阙荣文
时间: 2011/8/13

[背景介绍]
要想在程序中使用正则表达式,首先需要有库支持.目前比较有影响的C++正则库主要有GNU Regex Library,它是glibc的一部分.另一个就是PCRE全称是Perl Com]]></description><category></category></item></channel></rss>