<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tulingwangbo的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tulingwangbo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tulingwangbo]]></copyright><item><title><![CDATA[C++实现仿安卓线程Handler、Message、Looper的功能]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/143440026</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/143440026</guid><author>tulingwangbo</author><pubDate>Fri, 01 Nov 2024 20:36:41 +0800</pubDate><description><![CDATA[在java开发中，习惯使用Handler、Message来处理同步，比如对相机的操作(open、setParamters、start、stop、clost)全部抛到同一个线程处理，防止并发操作导致异常，这样保留给外部的统一接口就是安全的，无论外部哪些线程来调用，最终到控制模块都是在同一线程处理相机操作。本文提供一个C++实现的Handler Message封装，可以实现类似安卓那样的Handler操作；]]></description><category></category></item><item><title><![CDATA[BeyondCompare4过期解决办法]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/142754549</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/142754549</guid><author>tulingwangbo</author><pubDate>Tue, 08 Oct 2024 11:05:22 +0800</pubDate><description><![CDATA[将如上代码粘贴到一个bat文件，双击，重启beyondcompare即可；]]></description><category></category></item><item><title><![CDATA[SetUnhandledExceptionFilter不生效]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/126727552</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/126727552</guid><author>tulingwangbo</author><pubDate>Tue, 06 Sep 2022 16:12:54 +0800</pubDate><description><![CDATA[SetUnhandledExceptionFilter不生效。]]></description><category></category></item><item><title><![CDATA[Ubuntu突然无法联网]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/122728191</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/122728191</guid><author>tulingwangbo</author><pubDate>Fri, 28 Jan 2022 11:02:27 +0800</pubDate><description><![CDATA[Ubuntu使用]]></description><category></category></item><item><title><![CDATA[创建PermissionActivity请求悬浮窗权限]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/122595518</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/122595518</guid><author>tulingwangbo</author><pubDate>Thu, 20 Jan 2022 10:12:29 +0800</pubDate><description><![CDATA[Android创建activity请求悬浮窗权限]]></description><category></category></item><item><title><![CDATA[std::filesystem实现目录遍历和拷贝]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/116162340</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/116162340</guid><author>tulingwangbo</author><pubDate>Mon, 26 Apr 2021 16:56:37 +0800</pubDate><description><![CDATA[std::filesystem需要c++17才支持；即要求vs2017或者gcc8.0以上才可以；

一、CMakeLists.txt中打开c++17支持


#set compile options
if (MSVC)
    set( win_std_pre "/std:" )
else()
    set( linux_std_pre "-std=" )
endif()
set( str_cxx11 "${my_std_pre}c++11" )
set( str_cxx17 "${my_std_pre]]></description><category></category></item><item><title><![CDATA[Linux下监听usb插拔]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/107592055</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/107592055</guid><author>tulingwangbo</author><pubDate>Sun, 26 Jul 2020 12:42:56 +0800</pubDate><description><![CDATA[1.利用libudev和select模式，启动线程监听usb设备插拔


XN_THREAD_PROC xnUSBUDEVEventsThread(XN_THREAD_PARAM pThreadParam)
{
	struct udev *udev;
	struct udev_device *dev;
   	struct udev_monitor *mon;
	int fd;
	
	/* Create the udev object */
	udev = udev_new();
	if (!udev) {]]></description><category></category></item><item><title><![CDATA[git提交推送代码时报错remote rejected pre-receive hook declined]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/86539472</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/86539472</guid><author>tulingwangbo</author><pubDate>Fri, 18 Jan 2019 14:42:27 +0800</pubDate><description><![CDATA[使用tortoiseGit推送代码时报错：

git.exe push -v --progress &quot;origin&quot; im_zhangsan

! [remote rejected]   im_zhangsan -&amp;gt; im_zhangsan(pre-receive hook declined)
error: failed to push some refs to 'ssh://git@ssh...]]></description><category></category></item><item><title><![CDATA[所有可按当前格式播放文件的波形设备都被占用。请等候波形设备空闲后，再试一次；歌曲播放失败，请确保网络连接及播放设备正常]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/83409642</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/83409642</guid><author>tulingwangbo</author><pubDate>Fri, 26 Oct 2018 09:02:40 +0800</pubDate><description><![CDATA[做了一个小工具，收到消息时播放wav文件，采用的是mci方式，返回错误值mci_error=320,提示“所有可按当前格式播放文件的波形设备都被占用。请等候波形设备空闲后，再试一次”

同时发现这台电脑上的网易云音乐也播放不了了，提示：





最后解决办法：https://jingyan.baidu.com/article/48206aea9c918b216ad6b3cc.html?qq-pf...]]></description><category></category></item><item><title><![CDATA[CA2W格式化多个时需要加强制转换，CDuiString格式化也需强转]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/82698838</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/82698838</guid><author>tulingwangbo</author><pubDate>Fri, 14 Sep 2018 10:47:35 +0800</pubDate><description><![CDATA[
        CString str;
	str.Format(L&quot;%s&quot;, CM2W(ss.data()));
	str.Format(L&quot;%s, %s&quot;, (LPCTSTR)CM2W(ss.data()), (LPCTSTR)CM2W(&quot;asdfg&quot;));
	str.Format(L&quot;%s&quot;, (LPCTSTR)CA2W(&quot;trew&quot;));			//正确
	str.Format(L&quot;%s,.]]></description><category></category></item><item><title><![CDATA[duilib的DuiMessageBox通用版]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/82465711</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/82465711</guid><author>tulingwangbo</author><pubDate>Thu, 06 Sep 2018 18:20:05 +0800</pubDate><description><![CDATA[用duilib开发的客户端，难免会需要弹出一些模态框，如果能像mfc中的AfxmessageBox那样指定标题、文字、按钮样式和图标类型，就会很方便使用了，此处借助duilib开发了一个通用的模态弹框DuiMessageBox，样式是项目中开发的样式，读者可以根据需要自行修改替换贴图，从而改为适合于自己项目的风格。

这里的是无xml的，窗口和控件都在代码中创建，当然也可以写一个xml来生成窗口，...]]></description><category></category></item><item><title><![CDATA[Python re正则表达式更改为pythonic名称]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/80829564</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/80829564</guid><author>tulingwangbo</author><pubDate>Wed, 27 Jun 2018 15:11:20 +0800</pubDate><description><![CDATA[初学python，写两个函数。import os
import re

#利用正则模块re将C++ java中的命名转换为python的命名方式
_first_cap_regex = re.compile('(.)([A-Z][a-z]+)')
_number_cap_regex = re.compile('([a-z])([0-9]{2,})')
_end_cap_regex = re.comp...]]></description><category></category></item><item><title><![CDATA[分布式基础通信协议:paxos,totem和gossip]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/80792053</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/80792053</guid><author>tulingwangbo</author><pubDate>Sun, 24 Jun 2018 16:16:08 +0800</pubDate><description><![CDATA[转：http://blog.youkuaiyun.com/cloudresearch/article/details/23127985背景：在分布式中，最难解决的一个问题就是多个节点间数据同步问题。为了解决这样的问题，涌现出了各种奇思妙想。只有在解决了如何进行信息同步的基础之上才衍生出形形色色的应用。这里开始介绍几种分布式通信协议。 简单即有效——totem协议:totem协议也许你还比较陌生，但是coros...]]></description><category></category></item><item><title><![CDATA[解决Python unknown encoding:cp0]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/80775751</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/80775751</guid><author>tulingwangbo</author><pubDate>Fri, 22 Jun 2018 16:43:48 +0800</pubDate><description><![CDATA[原文：https://blog.tapasy.com/solution-unknown-encoding-cp0-python.html用了Apache代理Python的方式，利用百度云BCE的python SDK,发现如果有如下三句：import sysreload(sys)sys.setdefaultencoding('utf-8')一直出现这个unknown encoding: cp0问题。...]]></description><category></category></item><item><title><![CDATA[ado 0x80004002 0xC0000005]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/80523267</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/80523267</guid><author>tulingwangbo</author><pubDate>Thu, 31 May 2018 14:02:51 +0800</pubDate><description><![CDATA[ADO连接数据库，编译到客户机运行时出现CreateInstance报错0x80004002、CreateParameter报0xC0000005错误的解决方法：原因是利用高版本的maado15.dll编译的程序，可客户机器上的msado15.dll版本较低。如果在win7上编译的而客户机器是xp，则用如下描述的解决方案。如果开发机器和客户机都是win7，则让客户安装下win7 sp1补丁后尝试重...]]></description><category></category></item><item><title><![CDATA[应用程序无法正常启动0xc000007b]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/80470507</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/80470507</guid><author>tulingwangbo</author><pubDate>Sun, 27 May 2018 17:07:42 +0800</pubDate><description><![CDATA[https://jingyan.baidu.com/article/375c8e1997252e25f2a22936.html错误原因：dll的版本与应用程序不一致，比如64bit程序调用了32位的dll。若是大型游戏报这个错，很可能就是DX引起的，下载directx修复工具修复下应该可以解决。若程序是用VC开发的，那么很可能是exe目录下缺少VC对应的开发环境库。比如用vs2010开发的MFC程...]]></description><category></category></item><item><title><![CDATA[窗口操作者-窗口置顶隐藏、进程清理工具、Spy++]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/80014598</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/80014598</guid><author>tulingwangbo</author><pubDate>Fri, 20 Apr 2018 10:03:13 +0800</pubDate><description><![CDATA[	一款很好用的窗口操作工具，融合了Spy++的功能，可以拖动找窗口，然后对窗口进行置顶、取消置顶、隐藏、显示等功能，还具备进程清理和禁止启动的功能（有时候调试程序会看到任务管理器出现一堆adb.exe，可任务管理器不能多选删除，此工具点击【清理】即可），也可以把某些软件（游戏、弹框广告等）加入黑名单禁止启动,这点可以恶搞基友或者限制孩子玩某些游戏。	这里提示一下：对于QQ 暴风影音 Wps 迅雷等...]]></description><category></category></item><item><title><![CDATA[sqlite databasedisk image is malformed]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/80007928</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/80007928</guid><author>tulingwangbo</author><pubDate>Thu, 19 Apr 2018 17:28:05 +0800</pubDate><description><![CDATA[用户打开项目时，提示 “sqlite databasedisk image is malformed”,意思是说数据库文件的内部数据格式被损坏了，出现这种问题的概率约为两万分之一，一般有以下几种原因：1. sqlite数据库在写入时断电；2. sqlite数据库所存的磁盘空间不够。3. 磁盘有坏磁道；4.系统崩溃，数据库回滚日志被删除；出现这种情况时，尽量不要再次操作数据库了，可用如下方法修复后再...]]></description><category></category></item><item><title><![CDATA[如何判断任一内存地址是堆上的还是栈上，若是堆上的返回该内存长度]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/79729548</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/79729548</guid><author>tulingwangbo</author><pubDate>Wed, 28 Mar 2018 16:44:34 +0800</pubDate><description><![CDATA[很早以前就想过这个问题：看到一个内存地址，如果判断这个地址是不是堆上的，若是，new出来的长度是多少字节？深入了解了new和delete的源码后，终于把这个方法找到了，在此分享给大家。每个进程启动时候会有4G的虚拟内存，分为堆区、栈区、静态存储区、常量区、代码段、数据段和内核空间，而对每个线程，默认分配给其1MB空间。计算机一般采用的是小端模式存储，栈是向低地址生长，堆是向高地址生长。处于Ring...]]></description><category></category></item><item><title><![CDATA[Windows错误恢复无限重启；开机后灯亮风扇转下停下]]></title><link>https://blog.youkuaiyun.com/tulingwangbo/article/details/79347418</link><guid>https://blog.youkuaiyun.com/tulingwangbo/article/details/79347418</guid><author>tulingwangbo</author><pubDate>Thu, 22 Feb 2018 15:24:08 +0800</pubDate><description><![CDATA[先说第一个问题：Windows错误恢复无限重启开机后到了这个界面“windows错误恢复”，选择修复不能通过，提示找到一个根本错误“可能修改了硬件设置”；选择正常启动则闪一下还是到了windows错误恢复这个界面。尝试如下方法：1.开机马上按F8进入安全模式，选“最近一次的正确配置”回车修复，还不行按F8进入安全模式还原一下系统或重装系统（如果重装也是这样，建议还是检修一下去，如果可以进入安全模式...]]></description><category></category></item></channel></rss>