自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

csenjoy的博客

技术积累,技术分享

  • 博客(17)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 模板类的友元函数

VS2013 编译《C++沉思录》ch14中的源码时,出现无法解析的外部符号:错误 1 error LNK2019: 无法解析的外部符号 "class Pointer<int> __cdecl operator+(class Pointer<int> const &,int)" (??H@YA?AV?$Pointer@H@@ABV0@H@Z),该符号...

2019-09-30 15:16:22 183

原创 spdlog源码分析-整体框架

一,类关系图

2019-07-17 18:05:56 1427 1

原创 c可变参数实现

一,使用介绍 void _cdecl MsgFormat(TCHAR *pDst, const TCHAR *pFormat, ...){ va_list pArgs; va_start(pArgs, pFormat); _vstprintf(pDst, pFormat, pArgs); //字符串溢出,调用者保证 va_end(pArgs);}c标准...

2019-06-25 15:35:33 924

原创 mpc-hc源码分析---EventDispatcher.h

一. 前言 界面控件非常多的时,需要一种通知机制。mpc-hc中的EventDispatcher实现了这种通知机制。二.类关系图在mpc-hc中,定义宏GetEventd()获取全局唯一的EventRouter对象,控件拥有一个EventClient对象。1)控件初始化时,使用EventRouter::Connect接口,注册该控件可以触发(fires)的事件,...

2019-06-17 11:07:23 378

原创 C lambda值引用 失效

#include <algorithm>#include <iostream>#include <chrono>#include <thread>using namespace std;std::thread thrd;void work(const std::function<void()> &func){ ...

2019-04-10 11:29:45 1097

转载 Inno Setup 初次使用

一,需求 1)发行程序需要,安装配置mysql, 安装配置Ftp Server,转载 来自北方:https://www.cnblogs.com/dehai168/p/4512484.html 2)安装包需要管理员权限,转载https://www.cnblogs.com/SnailProgramer/p/4243666.html...

2019-03-20 10:33:13 284

原创 C++ delete自定义数据库类型导致内存泄露

一, 问题场景 代码中使用自定义数据类型时,为了提高入参,出参普遍性。使用了void *指针类型管理入参出参。当释放内存时没有指定指针指向的类型,从而导致内存泄露。typedef std::shared_ptr&lt;SPIWorker&gt; SPIWorker;typedef std::weak_ptr&lt;SPIWorker&gt; WPIWorker;typedef ...

2019-03-14 16:20:54 372

原创 window下安装mysql并配置主从数据库

一、安装mysql网上找到教程安装mysql,遇到几点坑: 1)data文件创建:使用mysqld--initialize-insecure命令生成,而不是手动创建此文件夹 2)my.ini文件配置: a) linux下配置文件名称为my.cnf,window下配置文件名称为my.ini ...

2019-03-05 11:20:21 226

转载 replication slave设置

一、问题描述使用mysql创建从数据库访问账号时:grant replication slave on dbName.* to 'replicate'@'192.168.1.3' identified by '123456';出现‘’Incorrect usage of DB GRANT and GLOBAL PRIVILEGES‘’。https://www.cnblogs.com/t...

2019-03-04 16:52:16 6139

原创 C++ 实现数据库版本升级接口

一、应用场景 随着需求的变化,数据库表结构可能发生改变,这个时候就需要对数据库文件进行升级。抽象接口如下://注:class IDataBase;//typdef shared_prt&lt;IDataBase&gt; SPIDataBase;class IDBVersion;class IDBVersionFactory;typedef shared_ptr&...

2019-03-01 16:16:20 529

原创 C++智能指针在接口中的应用

一,应用场景 使用mysql数据库时, 当应用数据写入mysql失败后,使用sqlite数据库作临时存储,然后更新到mysql数据库中。抽象接口如下:#include &lt;iostream&gt;#include &lt;memory&gt;class IDataBase;class CMysqlDataBase;class CSqliteDataBase;...

2019-03-01 15:28:39 755

原创 FindNextFile函数

一、问题描述           使用FindFirstFile与FindNextFile遍历指定文件夹时,获取不到该文件夹下的文件。      class CMySharedFile;bool GetAllFiles(LPCTSTR lpDir, std::set&lt;CMySharedFile&gt; files);......std::set&lt;CMySharedF...

2019-02-26 20:31:52 2493 1

原创 SQLite死锁

一,场景描述    有两个线程,一个线程对SQLite数据库读操作。另外一个线程对数据库写操作,写操作是通过begin transaction, commit transaction操作完成。业务层操作保存数据时,出现卡死现象    通过日志打印,发现commit transaction时,出现数据库死锁二.解决过程    通过https://blog.csdn.net/u012160319/ar...

2018-06-08 18:39:06 3972

原创 CTimer,对同一定时器,多次调用SetTimer

1.结论    对同一定时器,多次调用SetTimer,定时器会被重置。2.验证LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; RECT rect; DWORD tick; stati...

2018-06-04 20:11:00 4285

原创 输入输出缓存刷新

一,问题场景    使用getchar获取用户输入,根据用户输入判断是否退出循环,输入字符之后,发现连续出现两次提示输入 int main( int argc, char **argv ) { char condition; do { printf("input y or Y to quit\n");     condition = getchar();...

2018-04-25 15:50:03 463

原创 模态对话框结束,界面上却没有消失

一,场景描述    今天维护代码的时候,在主框架的WindowProc函数中,显示了一个模态对话框。点击模态对话框上面的按钮之后,会调用EndDialog函数。通过打印发现,模态对话框已经销毁了,模态对话框却一直存在界面上。二,问题定位    后台线程在像被模态对话框遮挡的窗口上投递Windows消息。被遮挡的窗口处理消息时,是通过invalidRect方式,局部重绘窗口。三,解决办法    结束...

2018-04-23 21:04:38 475

原创 阅读C项目初次感受

一,介绍    在阅读C代码时,快速掌握方式,就是弄清楚各个项目工程之间的关系,各个工程中编译单元(.c)的关系。例如,我们一般将UI和底层逻辑分离成为两个工程:    -solution.sln        +xxxUI.vcproj        +XXXLogic.vcproj 二、项目之间的关系    项目一般是通过连接库方式提供:静态链接库(xxxLogic.lib)或者动态连接库(x...

2018-04-23 20:36:14 1010

IC读写器IC读写器IC读写器

读写卡测试程序及源代码USB接口IC读写器oem软件

2014-06-03

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除