<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cabinriver的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/cabinriver</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; cabinriver]]></copyright><item><title><![CDATA[word标题排序编号错误]]></title><link>https://blog.csdn.net/cabinriver/article/details/142205462</link><guid>https://blog.csdn.net/cabinriver/article/details/142205462</guid><author>cabinriver</author><pubDate>Fri, 13 Sep 2024 11:03:50 +0800</pubDate><description><![CDATA[3. 修改：看下其他章节的编号用的哪个模板，然后通篇文档都使用一个模板即可。本文档的错误是4.1、4.2使用的模板错误，将4.1、4.2的模板修改为正确的即可；2.原因：此问题多为编号4.1、4.2和编号4.1.1使用的多级编号模板不一样，可以选中4.2，看下使用的多级模板，再选中4.1.1，看下它使用的多级模板。4. 小技巧：可以先将正确的列表模板加入到列表库，然后直接用该列表模板刷错误的编号即可。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.csdn.net/cabinriver/article/details/131411920</link><guid>https://blog.csdn.net/cabinriver/article/details/131411920</guid><author>cabinriver</author><pubDate>Tue, 27 Jun 2023 10:41:21 +0800</pubDate><description><![CDATA[解决方法：首先升级qt-vsaddin到支持VS2015的最后一个版本qt-vsaddin-msvc2015-2.4.3，然后升级.NET Framework到4.7.2，安装后重启机器，重新编译通过。1、第一种错误（error MSB3758、error MSB4036）3、第三种错误（qtrcc.targets error MSB3758）Win7下VS2015+Qt5.6.3编译时出现各种错误。2、第二种错误（NMAKE : fatal error）]]></description><category></category></item><item><title><![CDATA[python中使用loguru输出日期结尾的日志文件]]></title><link>https://blog.csdn.net/cabinriver/article/details/125316194</link><guid>https://blog.csdn.net/cabinriver/article/details/125316194</guid><author>cabinriver</author><pubDate>Thu, 16 Jun 2022 14:58:33 +0800</pubDate><description><![CDATA[python中使用loguru输出日志文件时，可以使用时间为文件名，但{time}会获取到毫秒单位，使用时不太方便。使用{time:YYYY-MM-DD}可以精确到天为单位。]]></description><category></category></item><item><title><![CDATA[解决C++调用Python可执行文件时中文乱码问题]]></title><link>https://blog.csdn.net/cabinriver/article/details/125316017</link><guid>https://blog.csdn.net/cabinriver/article/details/125316017</guid><author>cabinriver</author><pubDate>Thu, 16 Jun 2022 14:55:08 +0800</pubDate><description><![CDATA[使用ShellExecuteEx调用Python可执行文件（exe）的过程中，传递中文路径时会产生乱码的问题，主要原因为该函数传递的参数为LPCWSTR，Python中无法处理。后改用ShellExecuteExA传递LPCSTR格式的参数，Python能够正常处理其中文路径。...]]></description><category></category></item><item><title><![CDATA[QT工程release模式禁用优化、开启调试的配置方法]]></title><link>https://blog.csdn.net/cabinriver/article/details/121328446</link><guid>https://blog.csdn.net/cabinriver/article/details/121328446</guid><author>cabinriver</author><pubDate>Mon, 15 Nov 2021 09:49:34 +0800</pubDate><description><![CDATA[# QMAKE *.pro-file: release模式下禁用优化并开启调试功能
#
# gcc
#QMAKE_CXXFLAGS_RELEASE += -O0 -g
#QMAKE_CFLAGS_RELEASE += -O0 -g
#QMAKE_LFLAGS_RELEASE =

# msvc(VS调试模式，在VS2015 + QT5.6.3环境下调试通过)
QMAKE_CXXFLAGS_RELEASE += /Zi
QMAKE_CXXFLAGS_RELEASE += /Od
QMAKE_LFLAGS_R.]]></description><category></category></item><item><title><![CDATA[QT pro中加入文件拷贝方法]]></title><link>https://blog.csdn.net/cabinriver/article/details/119756548</link><guid>https://blog.csdn.net/cabinriver/article/details/119756548</guid><author>cabinriver</author><pubDate>Tue, 17 Aug 2021 14:53:44 +0800</pubDate><description><![CDATA[类似VS的生成后事件，在pro文件中加入相应的拷贝命令，可在生成dll、lib文件后自动拷贝到相应的文件夹，示例如下：


win32:CONFIG(release, debug | release)
{
    #指定要拷贝的文件目录为工程目录下release目录下的所有dll、lib文件，例如工程目录在D:\QT\Test
    #PWD就为D:/QT/Test，DllFile = D:/QT/Test/release/*.dll
    TargetDll = $$PWD/release/*.dll]]></description><category></category></item><item><title><![CDATA[重载等号(==)使用陷阱]]></title><link>https://blog.csdn.net/cabinriver/article/details/117924579</link><guid>https://blog.csdn.net/cabinriver/article/details/117924579</guid><author>cabinriver</author><pubDate>Tue, 15 Jun 2021 14:56:59 +0800</pubDate><description><![CDATA[使用重载的等号(==)操作符时，需要注意比较对象是指针还是引用，注意不要使用错误，否则将无法正确调用重载的操作符。具体使用过程如下：
]]></description><category></category></item><item><title><![CDATA[一个比较完整的Inno Setup 安装脚本]]></title><link>https://blog.csdn.net/cabinriver/article/details/88688612</link><guid>https://blog.csdn.net/cabinriver/article/details/88688612</guid><author>cabinriver</author><pubDate>Wed, 20 Mar 2019 14:45:04 +0800</pubDate><description><![CDATA[[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (生成新的GUID，点击 工具|在IDE中生成GUID。)
AppId={{A9861883-31C5-4324-BD9A-DC3271EEB675}
;程序名
AppName=ISsample
;版本号
AppVerName=ISsample 1.0.0.0
;发布者名
AppP...]]></description><category></category></item><item><title><![CDATA[16进制数据与字符串互转]]></title><link>https://blog.csdn.net/cabinriver/article/details/87270321</link><guid>https://blog.csdn.net/cabinriver/article/details/87270321</guid><author>cabinriver</author><pubDate>Thu, 14 Feb 2019 14:06:31 +0800</pubDate><description><![CDATA[近期项目中用到16进制数据与字符串互转算法，但网络上搜索到的算法都有些问题，无奈自已造轮子

【注：代码在VS2015环境下编译通过】

【工程下载路径：https://download.csdn.net/download/cabinriver/10956952】

1、头文件


/*********************************************************...]]></description><category></category></item><item><title><![CDATA[如何在CSDN内转载文章（使用markdown编辑）]]></title><link>https://blog.csdn.net/cabinriver/article/details/86609124</link><guid>https://blog.csdn.net/cabinriver/article/details/86609124</guid><author>cabinriver</author><pubDate>Wed, 23 Jan 2019 14:08:18 +0800</pubDate><description><![CDATA[
								            
							
							
							 对于喜欢逛CSDN的人来说，看别人的博客确实能够对自己有不小的提高，有时候看到特别好的博客想转载下载，但是不能一个字一个字的敲了，这时候我们就想快速转载别人的博客，把别人的博客移到自己的空间里面，当然有人会说我们可以收藏博客啊，就不需要转载，(⊙o⊙)… 也对。。
实现
  因为我自己当初想转载的时候却不知...]]></description><category></category></item><item><title><![CDATA[isspace函数的debug版本处理中文字符时程序异常]]></title><link>https://blog.csdn.net/cabinriver/article/details/86480909</link><guid>https://blog.csdn.net/cabinriver/article/details/86480909</guid><author>cabinriver</author><pubDate>Mon, 14 Jan 2019 17:27:29 +0800</pubDate><description><![CDATA[示例代码：


    #include &amp;lt;iostream&amp;gt;
    #include &amp;lt;string&amp;gt;
    #include &amp;lt;fstream&amp;gt;
    #include &amp;lt;algorithm&amp;gt;
    #include &amp;lt;functional&amp;gt;
    #include &amp;lt;locale&amp;gt;
    #include &amp;...]]></description><category></category></item><item><title><![CDATA[解决QT加载dll失败问题]]></title><link>https://blog.csdn.net/cabinriver/article/details/84644401</link><guid>https://blog.csdn.net/cabinriver/article/details/84644401</guid><author>cabinriver</author><pubDate>Fri, 30 Nov 2018 10:33:24 +0800</pubDate><description><![CDATA[1、dll源码如下（使用vs2015编译）：


// 下列 ifdef 块是创建使从 DLL 导出更简单的
// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 SUM_EXPORTS
// 符号编译的。在使用此 DLL 的
// 任何其他项目上不应定义此符号。这样，源文件中包含此文件的任何其他项目都会将
// SUM_API 函数视为是从 DLL 导入的，而此 DLL 则将用此宏定...]]></description><category></category></item><item><title><![CDATA[QT显式加载dll的方法]]></title><link>https://blog.csdn.net/cabinriver/article/details/84643970</link><guid>https://blog.csdn.net/cabinriver/article/details/84643970</guid><author>cabinriver</author><pubDate>Fri, 30 Nov 2018 10:13:08 +0800</pubDate><description><![CDATA[1、vc生成dll的源码如下(以下源码使用vs2015编译通过)：


// dll头文件
#ifdef SUM_EXPORTS
#define SUM_API __declspec(dllexport)
#else
#define SUM_API __declspec(dllimport)
#endif

extern &quot;C&quot; SUM_API int fnSum(int a, int b);

...]]></description><category></category></item><item><title><![CDATA[理解 Thread.Sleep]]></title><link>https://blog.csdn.net/cabinriver/article/details/39522257</link><guid>https://blog.csdn.net/cabinriver/article/details/39522257</guid><author>cabinriver</author><pubDate>Wed, 24 Sep 2014 13:45:20 +0800</pubDate><description><![CDATA[我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢？思考下面这两个问题：

假设现在是 2008-4-7 12:00:00.000，如果我调用一下 Thread.Sleep(1000) ，在 2008-4-7 12:00:01.000 的时候，这个线程会 不会被唤醒？某人的代码中用了一句看似莫明其妙的话：Thread.Sleep(0)]]></description><category></category></item><item><title><![CDATA[高精度计时器(微秒级)]]></title><link>https://blog.csdn.net/cabinriver/article/details/39155889</link><guid>https://blog.csdn.net/cabinriver/article/details/39155889</guid><author>cabinriver</author><pubDate>Tue, 09 Sep 2014 14:38:23 +0800</pubDate><description><![CDATA[#include 
#include 

#define	TRACE_CMH printf

extern "C" long long GetCurTime();
extern "C" double GetTimeConsume(long long start, long long end);
int main(int argc, char* argv)
{
	for (int i=0; i<10]]></description><category></category></item><item><title><![CDATA[C++设计模试实现--State]]></title><link>https://blog.csdn.net/cabinriver/article/details/24485657</link><guid>https://blog.csdn.net/cabinriver/article/details/24485657</guid><author>cabinriver</author><pubDate>Fri, 25 Apr 2014 17:09:15 +0800</pubDate><description><![CDATA[#include 
#include 

class CWar;
class IState
{
public:
	virtual void CurrentState(CWar* pWar)=0;
};

class CWar
{
public:
	CWar(IState* pState)
		:m_state(pState),m_days(0){}
	~CWar(){delete m_state;]]></description><category></category></item><item><title><![CDATA[VMWare虚拟机Bridged无法连网解决方法]]></title><link>https://blog.csdn.net/cabinriver/article/details/23740587</link><guid>https://blog.csdn.net/cabinriver/article/details/23740587</guid><author>cabinriver</author><pubDate>Tue, 15 Apr 2014 11:08:48 +0800</pubDate><description><![CDATA[VMWare虚拟机下 Bridged类型网卡 可以使虚拟机和主机处于同一物理网络内, 纯粹从网络连接上来讲, 此时的虚拟机和主机本身已经没有任何区别, 所以非常适合用于在虚拟机中基于网络对嵌入式系统的进行调试开发.
但当主机上存在多个物理网卡或虚拟网卡时, 一旦其中的某个网卡发生断开或禁用/启用之类的操作, 则虚拟机中Bridged类型网卡的IP地址往往就会出现ping不通的现象, 一旦出现这种]]></description><category></category></item><item><title><![CDATA[Linux关机命令详解]]></title><link>https://blog.csdn.net/cabinriver/article/details/20039763</link><guid>https://blog.csdn.net/cabinriver/article/details/20039763</guid><author>cabinriver</author><pubDate>Thu, 27 Feb 2014 11:12:18 +0800</pubDate><description><![CDATA[Linux关机命令详解










    在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init，它们都
可以达到重启系统的目的，但每个命令的内部工作过程是不同的，通过本文的介绍，希
望你可以更加灵活的运用各种关机命令。
　　 1.shutdown
   shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源]]></description><category></category></item><item><title><![CDATA[双缓冲绘图]]></title><link>https://blog.csdn.net/cabinriver/article/details/17550159</link><guid>https://blog.csdn.net/cabinriver/article/details/17550159</guid><author>cabinriver</author><pubDate>Wed, 25 Dec 2013 10:27:27 +0800</pubDate><description><![CDATA[在VC/MFC用CDC绘图时，频繁的刷新，屏幕会出现闪烁的现象，CPU时间占用率相当高，绘图效率极低，很容易出现程序崩溃。
        所谓双缓冲技术，下面是百度百科的解释：
        我们看电视时，看到的屏幕称为OSD层，也就是说，只有在OSD层上显示图像我们才能看到。现在，我需要创建一个虚拟的、看不见但是可以在上面画图（比如说画点、线）的OSD层，我称之为offscreen（后台]]></description><category></category></item><item><title><![CDATA[C#实现命令工厂]]></title><link>https://blog.csdn.net/cabinriver/article/details/17242149</link><guid>https://blog.csdn.net/cabinriver/article/details/17242149</guid><author>cabinriver</author><pubDate>Tue, 10 Dec 2013 12:03:19 +0800</pubDate><description><![CDATA[/************************************************************************** 
    *  @Copyright (c) 2013, ChenMH, All rights reserved. 
 
    *  @file     : Program.cs 
    *  @version  : ver 1.0 
 
  ]]></description><category></category></item></channel></rss>