- 博客(41)
- 资源 (1)
- 收藏
- 关注

原创 开源项目CuteSqlite开发笔记(七):CuteSqlite释放BETA版本啦
CuteSqlite是一个开源的SQLite图形化管理客户端。特点:1. 功能完善:目标是做最好的SQLite客户端。2. 应用程序体积小:应用程序压缩包仅仅6MB。3. 性能优良:C++11/WTL开发,无限接近win32 api的性能。4. 占用内存小:仅占用内存5 - 8MB。
2024-01-13 05:18:14
1079
1

原创 开源项目CuteSqlite开发笔记(一)
CuteSqlite是开源的sqlite客户端软件,使用C++/WTL开发,目标是实现轻量级的,性能优良的,功能完善的Sqlite图形客户端软件。
2023-06-04 16:50:35
340
原创 Visual C++ C1354错误 访问上一个对象文件 **.iobj (corrupted symbol table)时出错的解决方法
Visual C++ 错误C1354 访问上一个对象文件 **.iobj (corrupted symbol table)时出错的解决方法
2024-12-28 09:26:57
207
原创 wxWidgets使用wxStyledTextCtrl(Scintilla编辑器)的正确姿势
作为C++领域最成熟稳定又小巧的开源编辑器,Scintilla提供了强大的功能,wxWidgets对Scintilla进行包装后的是控件类:wxStyleTextCtrl。本文是全网最详细介绍Scintilla编辑器的解决方案,对每行代码进行详细注释。
2024-12-18 20:55:17
707
原创 火爆外网的“十亿行挑战“, C++大神用时0.77秒是如何做到的
十亿行挑战 (1BRC) 是Gunnar Morling于2024年1月1日对JAVA社区发起的编程挑战,探讨现代 Java 在处理10 亿行数据的文本文件,能走多远。C++软件工程师西蒙·托特(ŠIMON TÓTH )发起挑战,给出了自己的方案,从66秒优化到0.77秒,并记录整理了性能优化过程,对于C++应用程序的性能优化的过程,极具参考价值。
2024-05-30 08:12:25
1146
原创 开源项目CuteSqlite开发笔记(八):Windows 64位/32位使用GetWindowLongPtr钩子函数
在开发 CuteSqlite 的时候, 有一个功能需要实现,鼠标移到 WTL::CStatic 上后,发送消息通知 CToolTipCtrl 弹出。文章介绍Windows 64 位 / 32 位如何用正确的姿势使用 GetWindowLongPtr 钩子函数。
2024-01-22 16:12:01
1304
2
翻译 开源项目CuteSqlite开发笔记(六):SQLite通过索引优化查询
对于任何给定的SQL语句,可能有数百或数千甚至数百万种不同的算法来执行操作。所有这些算法都会得到正确的答案,尽管有些算法会比其他算法运行得更快。查询规划器是一个AI,它试图为每个SQL语句选择最快和最有效的算法。
2023-12-13 03:48:14
240
翻译 开源项目CuteSqlite开发笔记(五):SQLite查询优化器概述
本文档概述了SQLite的查询规划器和优化器的工作原理。给定一条SQL语句,可能有几十种、几百种甚至几千种方法来实现该语句,这取决于语句本身和底层数据库模式的复杂性。查询规划器的任务是选择最小化磁盘I/O和CPU开销的算法。
2023-12-13 03:23:47
208
翻译 开源项目CuteSqlite开发笔记(四):SQLite字节码引擎(SQLite的Explain详解)
SQLite的工作原理是将SQL语句转换为字节码,然后在虚拟机中运行该字节码。本文档描述了字节码引擎的工作原理。是Sqlite3 Explain指令的详解。
2023-12-13 02:43:45
364
翻译 开源项目CuteSqlite开发笔记(三):SQLite使用的Lemon解释器
Lemon是C语言的LALR(1)解析生成器。它和“BISON”和“yacc”做同样的工作。但Lemon不是一个BISON或yacc克隆。Lemon使用不同的语法,旨在减少编码错误的数量。Lemon还使用了一个解析引擎,它比yacc和BISON更快,并且是可重入和线程安全的。(更新:自从写了上一句话,BISON也被更新了,这样它也可以生成可重入和线程安全的解析器。)Lemon还实现了可用于消除资源泄漏的功能,使其适用于长时间运行的程序,如图形用户界面或嵌入式控制器。
2023-12-06 01:03:38
429
原创 开源项目CuteSqlite开发笔记(二):SQLite的架构
本文档描述了SQLite库的架构。这里的信息对于那些想要理解或修改SQLite内部工作原理的人很有用。
2023-12-05 12:09:36
1423
原创 【Qt6 中文参考手册】元对象系统(The Meta-Object System)
元对象系统 | Qt Core 6.2.3 | Qt6 中文参考手册 Qt 6.2Qt Core元对象系统Qt 6.2.3 参考文档 元对象系统(The Meta-Object System)Qt的元对象系统为对象间通信、运行时类型信息和动态属性系统提供了信号和槽机制。元对象系统基于三件事:QObject 类为可以利用元对象系统的对象提供了一个基类。类声明为privat...
2022-03-20 02:43:58
1261
原创 【Qt6 中文参考手册】Qt Core 模块
Qt Core 6.2.3 | Qt6 中文参考手册 Qt 6.2Qt CoreQt 6.2.3 参考文档 Contents使用模块使用 CMake 进行构建使用 qmake 进行构建线程和并发编程输入/输出、资源和容器其他框架模块演变许可和归属参考Qt CoreQt Core模块将以下功能添加到C++:一种非常强大的无缝对象通信机制,称为信号...
2022-03-20 02:20:21
3575
原创 【Qt 6.2 参考手册】QT6.2所有模块
所有模块 | Qt 6.2 Qt 6.2所有模块Qt 6.2.3 参考文档 内容Qt基础模块Qt扩展模块接下来去哪里?所有模块Qt基础模块Qt基础模块在所有平台上定义了Qt的基础。它们可在所有受支持的开发平台和经过测试的目标平台上使用。除了测试模块将保持源代码兼容外,这些模块将在整个Qt 6中保持源代码和二进制兼容基本模块是通用的,对于大多数Qt应用都很有...
2022-03-19 23:36:23
2930
原创 windows10编译QT6.2.3
准备工具:MinGW-builds gcc 8.1 or later mingw-w64-install.exePerl version 5.12 or later strawberry-perl-5.32.1.1-64bit.msiPython version 2.7 or later Download Python | Python.orgRuby version 1.9.3 or later [http://rubyinstaller.org/]CMake [cmake-3.2
2022-03-13 11:40:51
2389
原创 QT模仿出来的PS界面
QT模仿出来的PS界面,目前源码已在GITHUB上。虽然是一个个人项目,但我们有志打造开源的PS,如果对图形编程有兴趣的开发者,请加入我们,欢迎C/C++开发者,UI设计者,文档管理,成为开发合作伙伴。GITHUB源码目录:https://github.com/shinehanx/openphoto.git...
2021-02-06 11:04:35
1984
2
原创 windows下mingw32 编译 libusb[实测可行]
之前项目需要libusb开发QT下的USB硬件相关的应用程序,一直没有整理文档,今天重走一遍,并把文档整理出来。一、材料准备1.windows7 x642.mingw32作用:使用gcc,g++,make等编译环境网上下载半天下载不了mingw32,没办法,凑合着用吧,我把打包上传到优快云了。下载地址:安装路径:C:\MinGW设置系统环境变量 path:C:\MinGW\bin3.git-1.9.5作用:使用bash下载地址:https://github.com/msysgit/m
2020-12-20 12:01:41
2424
1
原创 python安装Crypto提示错误:Unable to find vcvarsall.bat 的解决方案
版本:python2.7VS版本:Vistual Studio 2010参考文档:https://www.biaodianfu.com/python-error-unable-to-find-vcvarsall-bat.html原因分析:python2.7使用的是VS2008编译的,因此编译Crypto的时候,由于我的系统是使用2010版本,因此变量找不到V
2017-07-17 16:52:17
898
原创 LINUX搭建远程VNC桌面
LINUX 版本 Centos 6.5VNC桌面结果如下:1.Centos 6.5 用yum安裝kde桌面我从网上找了下很多都是用yum groupinstall "KDE (K Desktop Environment)",但是到我这时却出错了Centos 6.4 用yum安裝kde桌面看错误提示是Warnin
2017-07-03 15:39:04
795
原创 转:VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
MSDN中对于在不同的配置下Link的LIB作了说明:C Runtime Library:开关对应的库版本/MDMSVCRT.LIB多线程DLL的Release版本/MDdMSVCRTD.LIB多线程DLL的Debug版本/MT
2011-06-03 15:26:00
2486
原创 转:VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
MSDN中对于在不同的配置下Link的LIB作了说明:C Runtime Library:开关对应的库版本/MDMSVCRT.LIB多线程DLL的Release版本/MDdMSVCRTD.LIB多线程DLL的Debug版本/MT
2011-06-03 15:26:00
1591
原创 VS2008解决“MSVCRT”与其他库的使用冲突的警告
警告信息如下: 1>LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library 原因:在使用多线程调试dll(MDd)模式的时候 配置属性 - c/c++ - 代码生成-运行时库> msvcrtd.lib 与 ibcmt.lib产生冲突 解决方法有2个: 1.右击工程 -
2011-06-03 12:15:00
21696
原创 PHPWIND和DISCUZ优缺点比较
PHPWIND的优缺点-------------------------------------------------1.架构太乱,程序和数据库设计一塌糊涂,二次开放困难至极2.版本互不兼容,升级非常困难3.不支持多台服务器,无法搞分布式,多台服务器配置相当困难,笔者从来没配置成功过,经常首页不同步。4.BUG太多,PHPWIND的开发人员代码各自为政,互不兼容,笔者发现一个类在多个文件中定义。5.表面光鲜,追求新功能,但是这些功能及其不稳定。6.性能差,安全性也差DISCUZ的优缺点----------
2011-04-29 22:14:00
6648
原创 解决_CRT_SECURE_NO_WARNINGS 警告
<br />问题:我们在程序中使用fopen等CRT函数,就会出现一些警告信息,很烦人,如下:<br /> <br />1>e:/project/htt/ishow/functions.cpp(156) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. Se
2011-04-16 20:11:00
119067
1
原创 使用WinINet和WinHTTP实现Http访问
<br />使用WinINet和WinHTTP实现Http访问<br /> <br />Http访问有两种方式,GET和POST,就编程来说GET方式相对简单点,它不用向服务器提交数据,在这个例程中我使用POST方式,提交数据value1与value2,并从服务器得到他们的和(value1 + value2)。<br />为实现Http访问,微软提供了二套API:WinINet, WinHTTP。WinHTTP比WinINet更加安全和健壮,可以这么认为WinHTTP是WinINet的升级版本。这两套API
2011-04-16 17:15:00
2283
原创 jsoncpp在WINDOWS 上的编译及应用
<br /> <br />你可以参照:jsoncpp使用和jsoncpp下载和There is no scons.py in jsoncpp package,并且在以下地址下载jsoncpp最新版:http://sourceforge.net/projects/jsoncpp/<br /> <br /> <br />下载并解压jsoncpp源代码后,你会得到文件夹jsoncpp-src-0.5.0,依次定位到jsoncpp-src-0.5.0/makefiles/vs71,里面就是VC++的项目文件了.你可
2011-04-16 14:53:00
11118
原创 与MongoDB媲美:Mysql插件HandlerSocket的应用
一.安装HandlerSocket1.下载http://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL获取 ahiguti-HandlerSocket-Plugin-for-MySQL-1.0.6-71-g159ea6d.tar.gz上传到LINUX目录/usr/local/src/ 下2.安装cd /usr/local/src/tar zvfx ahiguti-HandlerSocket-Plugin-for-MySQL-1.0.6-71-g159ea6
2011-02-25 14:02:00
4271
原创 DISCUZ论坛使用memcached优化解决方案
如何让discuz支持千万级别的数据和大用户量访问呢?答案是使用memcached优化。本文讨论DISCUZ论坛使用memcached优化的解决方案。作者使用的discuz版本是7.0, 7.0之后的优化方法本文没有做介绍,可以参考本文,举一反三。思路:1.无需全站的代码,只对DISCUZ的MYSQL的数据库操作类修改,支持MEMCACHED。2.有MEMCACHED总开关,需要的时候打开MEMCACHED缓存,访问量不大时,关闭MEMCACHED缓存。3.为不影响用户体验,用户登录的时候关闭MEMCAC
2010-07-29 16:34:00
11962
原创 LINUX上安装memcached
一、下载安装libeventwget http://monkey.org/~provos/libevent-1.4.13-stable.tar.gzzvfx libevent-1.4.13-stable.tar.gzcd libevent-1.4.13-stable./configuremakemak install二、下载安装memcachedwget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gztar zvfx memcache
2010-07-21 17:22:00
2385
原创 在CENT OS 上编译安装NGINX+PHP+MYSQL
NGINX安装手记 一、环境需要和下载1. 利用YUM安装必须的程序库# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc gli
2010-05-29 10:42:00
1342
原创 在CENT OS上编译安装APACHE+PHP+MYSQL
源码目录:/usr/local/src/ 应用目录:/usr/local/app/ 一、MYSQL安装。 1.下载MSYQL源码:http://www.mysql.com/downloads/mysql/ 最近版本是 mysql-5.1.47.tar.gz 2.上传到服务器目录/usr/local/src/ cd /usr/local/src/
2010-05-25 16:24:00
3446
原创 Oracle 10g绿色客户端 plus PL/SQL Developer-搭建方便的Oracle客户端使用环境
实验室里边有很多机器是装过Oracle客户端的,但是ms都是当时实验室搭建数据库时用正版的安装光盘装的,我对这样臃肿的客户端有一种生理上的恐惧,于是还是用原始的方法进行自己的开发。直到有一天,看到Oracle的官方网站上边有10g的绿色版的简易客户端……http://www.oracle.com/technology/tech/oci/instantclient/index.htm
2009-10-10 10:30:00
3746
原创 HandlerThread.cpp:23: 错误:expected unqualified-id before ‘using’
其实就是类声明后面没有加分号导致的。 类声明的时候没有加分号,还可能导致一个错误 错误:一个声明指定了多个类型 解决办法:分别检查包含进来的文件,类声明,结构体声明后面有没有加分号。
2009-05-21 14:58:00
3162
原创 错误:expected constructor, destructor, or type conversion before ‘typedef’ 的解决方法
错误现象:Compiling TradeData.cpp/home/dev/mobsys/payServer/include/config.h:35: 错误:expected constructor, destructor, or type conversion before ‘typedef’/home/dev/mobsys/payServer/include/config.h:60: 错误
2009-05-20 20:55:00
33777
原创 LINUX CENTOS 5 安装配置 XDM 远程桌面
前些日子刚玩了Fedora Core 10的远程桌面,今天在弄一个装CentOS的服务器,要开启远程桌面,以为像Fedora那样设置即可(我以为linux应该都是一路货),像不到却是有点不一样的。我在CentOS的/etc/X11目录下就是没有找到xdm目录,我以为没有安装相应的软件包,但安装完还是没有,着实有些郁闷,怪不得前些日子新闻报道说linux的系统只占市场的1.02%。后来还是在网上搜索
2009-05-19 11:41:00
8639
2
原创 error while loading shared libraries的解決方法
error while loading shared libraries的解決方法遇到像下列這種錯誤: ./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory那就表示系統不知道xxx.so 放在哪個目錄下。這個時候就要在/e
2009-05-15 12:36:00
1242
原创 WTL工程中出现运行“Did you forget to pass the LIBID to CComModule::Init”的解决方法
我在使用VS2005开发WTL项目的时候,在运行的时候出现一个ALERT提示,提示内容如下:---------------------------Microsoft Visual C++ Debug Library---------------------------Debug Assertion Failed!Program: e:/project/ietools/shinedoo/s
2009-03-03 11:07:00
2164
原创 VS2005使用WTL出现 “error LNK2019: 无法解析的外部符号_main”的解决方法
我在使用VS2005开发一个WTL项目的时候,使用ACTIVEX控件,并使用一个事件监听器接收控件的事件,在DEBUG版中没发现错误,RELEASE版中,编译的时候通过,但是链接的时候出现如下的错误提示。 1>------ 已启动生成: 项目: shinedoo, 配置: Release Win32 ------1>正在链接...1>LIBCMT.lib(tidtable.obj)
2009-03-03 10:27:00
7932
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人