<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wybarcelona的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/wybarcelona</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; wybarcelona]]></copyright><item><title><![CDATA[Qt / C++ 中实现类似C#中的“委托”]]></title><link>https://blog.csdn.net/wybarcelona/article/details/158611593</link><guid>https://blog.csdn.net/wybarcelona/article/details/158611593</guid><author>wybarcelona</author><pubDate>Tue, 03 Mar 2026 10:46:52 +0800</pubDate><description><![CDATA[但有三套等价机制：



class Worker : public QObject
{
Q_OBJECT
public:
explicit Worker(QObject* parent = nullptr);

void doWork();

signals:
void dataArrived(const QString& msg);
};



void Worker::doWork()
{
emit dataArrived("Hello from Worker");
}



Worker* work]]></description><category></category></item><item><title><![CDATA[什么时候前置声明不够，必须 include]]></title><link>https://blog.csdn.net/wybarcelona/article/details/158428829</link><guid>https://blog.csdn.net/wybarcelona/article/details/158428829</guid><author>wybarcelona</author><pubDate>Thu, 26 Feb 2026 17:28:50 +0800</pubDate><description><![CDATA[【代码】什么时候前置声明不够，必须 include。]]></description><category></category></item><item><title><![CDATA[windows下使用Qt Creator开发调试的注意事项]]></title><link>https://blog.csdn.net/wybarcelona/article/details/157942262</link><guid>https://blog.csdn.net/wybarcelona/article/details/157942262</guid><author>wybarcelona</author><pubDate>Tue, 10 Feb 2026 17:08:31 +0800</pubDate><description><![CDATA[上述1或2任意一个没有设置，都不会弹出电脑内置的控制台程序，如下图所示，程序输出仍在Qt Creator的Application Output窗口，而Terminal窗口没有任何输出。windows下的Qt项目弹出内置控制台进行程序输出查看调试，而不是在Qt Creator的Application Output窗口行程序输出查看调试。检查是否勾选 "在终端中运行"（Run in terminal）对于 Windows，需要：Run in terminal。2.点击 项目 → 运行。]]></description><category></category></item><item><title><![CDATA[QVariant()和QString()各个写法区别]]></title><link>https://blog.csdn.net/wybarcelona/article/details/157901877</link><guid>https://blog.csdn.net/wybarcelona/article/details/157901877</guid><author>wybarcelona</author><pubDate>Mon, 09 Feb 2026 11:10:45 +0800</pubDate><description><![CDATA[【代码】QVariant()和QString()各个写法区别。]]></description><category></category></item><item><title><![CDATA[C++用new创建对象和不用new创建对象的区别解析]]></title><link>https://blog.csdn.net/wybarcelona/article/details/156653811</link><guid>https://blog.csdn.net/wybarcelona/article/details/156653811</guid><author>wybarcelona</author><pubDate>Tue, 06 Jan 2026 17:47:22 +0800</pubDate><description><![CDATA[【代码】C++用new创建对象和不用new创建对象的区别解析。]]></description><category></category></item><item><title><![CDATA[C#语言实现光盘刻录功能]]></title><link>https://blog.csdn.net/wybarcelona/article/details/156459468</link><guid>https://blog.csdn.net/wybarcelona/article/details/156459468</guid><author>wybarcelona</author><pubDate>Wed, 31 Dec 2025 15:47:21 +0800</pubDate><description><![CDATA[【代码】C#语言实现光盘刻录功能。]]></description><category></category></item><item><title><![CDATA[Winform自定义无边框窗体]]></title><link>https://blog.csdn.net/wybarcelona/article/details/151837204</link><guid>https://blog.csdn.net/wybarcelona/article/details/151837204</guid><author>wybarcelona</author><pubDate>Thu, 18 Sep 2025 20:04:13 +0800</pubDate><description><![CDATA[这块的代码有bug，特别是当电脑有多个屏幕时，屏幕坐标可能出现负值，(int)m.LParam >> 16 & 0xFFFF 这段运算会导致丢失符号；// 转换成客户区坐标。本文提出原帖子中的BUG。]]></description><category></category></item><item><title><![CDATA[extern、static、const关键字]]></title><link>https://blog.csdn.net/wybarcelona/article/details/151785934</link><guid>https://blog.csdn.net/wybarcelona/article/details/151785934</guid><author>wybarcelona</author><pubDate>Wed, 17 Sep 2025 10:21:43 +0800</pubDate><description><![CDATA[在调用函数的时候，用相应的变量初始化const常量，则在函数体中，按照const所修饰的部分进行常量化，如形参为const int * a，则不能对传递进来的指针所指向的内容进行改变，保护了原指针所指向的内容；但是这样定义的变量通常被称为局部静态变量，它的值的不会因为函数调用的结束而被清除，相反当函数再次被调用时，它的值将会是上衣次调用结束后的值。这其实与一般变量的作用域是相同的。在一个模块内，一个被声明为静态的函数只可被这一模块内的其它函数调用，也就是说，这个函数的使用范围被限制在声明它的模块之内。]]></description><category></category></item><item><title><![CDATA[为什么 VTK 9 移除了 plugins 目录，QVTKWidgetPlugin等插件]]></title><link>https://blog.csdn.net/wybarcelona/article/details/151398975</link><guid>https://blog.csdn.net/wybarcelona/article/details/151398975</guid><author>wybarcelona</author><pubDate>Wed, 10 Sep 2025 11:41:05 +0800</pubDate><description><![CDATA[特性VTK 8 及之前VTK 9 及之后模块发现运行时通过plugins目录扫描编译时集成，无需扫描plugins目录存在且重要不存在（正常现象）使用新模块可能需要放置插件并设置只需在编译VTK时启用该模块，并在项目中链接即可动态加载使用官方插件机制需要自己实现动态库加载和注册逻辑在 VTK 9.3.0 中，传统的（用于Qt Designer）已经被移除，不再以旧有的形式存在。下面我将详细解释发生了什么，以及在新版本中如何实现类似的功能。特性VTK 8 (旧版)VTK 9 (新版)]]></description><category></category></item><item><title><![CDATA[一台电脑安装28个操作系统（windows,macos，linux，chromeOS，Android,静待HarmonyOS）]]></title><link>https://blog.csdn.net/wybarcelona/article/details/129091795</link><guid>https://blog.csdn.net/wybarcelona/article/details/129091795</guid><author>wybarcelona</author><pubDate>Fri, 17 Feb 2023 18:51:17 +0800</pubDate><description><![CDATA[14.openEuler(未安装桌面UI)23.优麒麟（UbuntuKylin）1-4: windows系统 四个。15.中标麒麟（NeoKylin）25.freeBSD(无UI界面)首先看看安装了哪些操作系统。最后附上我的磁盘分区表。]]></description><category></category></item><item><title><![CDATA[自己打造原生ChromeOS]]></title><link>https://blog.csdn.net/wybarcelona/article/details/128568790</link><guid>https://blog.csdn.net/wybarcelona/article/details/128568790</guid><author>wybarcelona</author><pubDate>Sun, 08 Jan 2023 22:12:25 +0800</pubDate><description><![CDATA[下载地址：查看链接 （可能需要 Proxy）挑选和你电脑最像的镜像下载，这里推荐代号为 altas 的镜像给笔记本使用台式机用代号 nami 的镜像，如果驱动不行，建议找与你电脑配置最接近的 ChromeBook 恢复镜像来使用。结束后，原 chromiumos 镜像文件就变为了 Chromeos 镜像文件，将其后缀改为 img，你就得到了可刷入的 ChromeOS 镜像。下载完毕后，将工具 Chromeos 恢复镜像 Chromiumos 镜像 放在同一个文件夹下，制作镜像准备工作就完成了。]]></description><category></category></item><item><title><![CDATA[家庭mesh网络与IPTV的搭建]]></title><link>https://blog.csdn.net/wybarcelona/article/details/122738961</link><guid>https://blog.csdn.net/wybarcelona/article/details/122738961</guid><author>wybarcelona</author><pubDate>Sat, 29 Jan 2022 05:52:47 +0800</pubDate><description><![CDATA[本文的配置可以做到以下功能需求

通过自己的主路由进行拨号上网，发挥主路由强大的性能，运营商的光猫只起到桥接作用
	家里的所有设备处于同一个局域网中，实现轻松互访；级连多个路由器虽然也可以实现上网，但是会造成多个局域网的划分，不同的局域网中的设备要实现互访还得配置路由表
	IPTV与网络正常使用；将单线复用的配置从光猫端移到网管交换机
	WiFi信号在多个房间的mesh设备上实现无缝漫游
	配置DDNS实现外网访问家里的网络；之前如果使用光猫进行拨号，自己的路由器就成了二级路由器，一些路由器的DDNS不..]]></description><category></category></item><item><title><![CDATA[几种单例模式的优劣势]]></title><link>https://blog.csdn.net/wybarcelona/article/details/121610541</link><guid>https://blog.csdn.net/wybarcelona/article/details/121610541</guid><author>wybarcelona</author><pubDate>Mon, 29 Nov 2021 16:00:34 +0800</pubDate><description><![CDATA[下面看看几种常见的单例的设计方式：

第一种：非延迟加载单例类（饿汉式）



publicclassSingleton{
	privateSingleton(){}
	privatestaticfinalSingletoninstance=newSingleton();
	publicstaticSingletongetInstance(){
	returninstance;
	}
	}
饿汉式不存在线程安全问题，但是如果初始...]]></description><category></category></item><item><title><![CDATA[8dot3name(长文件名与短文件名)]]></title><link>https://blog.csdn.net/wybarcelona/article/details/121035329</link><guid>https://blog.csdn.net/wybarcelona/article/details/121035329</guid><author>wybarcelona</author><pubDate>Fri, 29 Oct 2021 15:13:23 +0800</pubDate><description><![CDATA[在很久之前，大概是Win3.x的时候，Windows中的文件名是由不超过8个字符的主文件名，和不超过3个字符的扩展名组成。到了Windows 95的时候，这个长度被扩展成主文件名+扩展名不超过255个字符。为了保证兼容性，Windows提供了一种转换的方式，大意是用'~'和数字还缩短文件名的长度，比如"C:\Program Files"被转换成了"C:\Progra`1"。这种转换使得一些老的应用程序在新的Windows平台上也可以使用，但它多多少少降低了系统的性能（文件索引之类）。

想知道自己的系统有没]]></description><category></category></item><item><title><![CDATA[使用.NET 快速开发一个命令行应用程序]]></title><link>https://blog.csdn.net/wybarcelona/article/details/121031906</link><guid>https://blog.csdn.net/wybarcelona/article/details/121031906</guid><author>wybarcelona</author><pubDate>Fri, 29 Oct 2021 12:00:59 +0800</pubDate><description><![CDATA[1.

使用.NET Core快速开发一个较正规的命令行应用程序_dotNET跨平台-CSDN博客一般命令行程序包含什么？使用方式帮助信息子命令参数选项帮助信息帮助信息如上，介绍了命令的作用和参数、选项作用。这个是必不可少的。子命令一个应用程序打包了多个功能，这时候就可以使用子命令，比如 dotnet ef migrations，这时候 migrations 就是子命令，可以看做本来可以拆分成多个可执行程序的东西，用一个可执行程序来打包完成，子命令可以再次具有自己的帮助、参数和选项。参数参数在https:/]]></description><category></category></item><item><title><![CDATA[TEWA-700G、TEWA-1000E/G等TEWA系列光猫获取超级密码]]></title><link>https://blog.csdn.net/wybarcelona/article/details/120821967</link><guid>https://blog.csdn.net/wybarcelona/article/details/120821967</guid><author>wybarcelona</author><pubDate>Mon, 18 Oct 2021 10:47:59 +0800</pubDate><description><![CDATA[参考链接

TEWA-700G、TEWA-1000E/G等TEWA系列光猫获取超级密码 - Powered by HadSky原文转自：https://www.right.com.cn/forum/forum.php?mod=viewthread&amp;tid=4040383工具：• 配置文件解密工具• 浏览器• http://bbs.csource.com.cn/read-426-1.html

原文中是使用set2_sessionKey，我的机器是使用set3_sessionKey，不同地方可能不一样]]></description><category></category></item><item><title><![CDATA[JS 总结之原型继承的几种方式]]></title><link>https://blog.csdn.net/wybarcelona/article/details/116739221</link><guid>https://blog.csdn.net/wybarcelona/article/details/116739221</guid><author>wybarcelona</author><pubDate>Thu, 13 May 2021 10:19:21 +0800</pubDate><description><![CDATA[前提

以一个父类为前提条件，列举 js 继承的继承方式：


function Person (age) {
  this.age = age || 18
}
Person.prototype.sleep = function () {
  console.log('sleeping')
}
复制代码

:meat_on_bone: 方式 1：原型链继承（不推荐）


function Programmer() {}

Programmer.prototype = new Person ()
Progra]]></description><category></category></item><item><title><![CDATA[汇总常用的js对象Object的深比较方法]]></title><link>https://blog.csdn.net/wybarcelona/article/details/116708428</link><guid>https://blog.csdn.net/wybarcelona/article/details/116708428</guid><author>wybarcelona</author><pubDate>Wed, 12 May 2021 14:59:49 +0800</pubDate><description><![CDATA[这篇文章简单总结常用的深度比较方法，这些方法在react中用的特别多，特别是生命周期里面prop对比。因此，react和immutable天生结合性比较好。假设你项目中没有用immutable这种第三方库，那么实现深度比较的方法，在这里总结一下！

方法一


  function equalsObject (obj1,obj) {
        var p;
        if (obj1 === obj) {
            return true;
        }
        //]]></description><category></category></item><item><title><![CDATA[js中==和===区别]]></title><link>https://blog.csdn.net/wybarcelona/article/details/116708211</link><guid>https://blog.csdn.net/wybarcelona/article/details/116708211</guid><author>wybarcelona</author><pubDate>Wed, 12 May 2021 14:54:02 +0800</pubDate><description><![CDATA[操作数1 == 操作数2，操作数1 === 操作数2

比较过程：

　　双等号==：

　　（1）如果两个值类型相同，再进行三个等号(===)的比较

　　（2）如果两个值类型不同，也有可能相等，需根据以下规则进行类型转换在比较：

　　　　1）如果一个是null，一个是undefined，那么相等

　　　　2）如果一个是字符串，一个是数值，把字符串转换成数值之后再进行比较

　　

　　三等号===:

　　（1）如果类型不同，就一定不相等

　　（2）如果两个都是数值，并且是同一个值，那么相等...]]></description><category></category></item><item><title><![CDATA[M1卡数据结构]]></title><link>https://blog.csdn.net/wybarcelona/article/details/116643405</link><guid>https://blog.csdn.net/wybarcelona/article/details/116643405</guid><author>wybarcelona</author><pubDate>Tue, 11 May 2021 10:41:32 +0800</pubDate><description><![CDATA[M1卡数据结构：

Mifare Classic提供1k-4k的容量，现在国内门禁采用的多数是Mifare Classic 1k(S50)[后面简称M1卡]。

M1卡有从0到15共16个扇区，每个扇区配备了从0到3共4个段，每个段可以保存16字节的内容，为什么这里要强调从0开始呢？这跟C语言里面数组下标默认从0开始是差不多的，好计算地址偏移，我们不必太过在意，只是要记住是从0开始，写入数据的时候不要写错地方就可以了。每个扇区的第4个段（也就是3段）是用来保存KeyA，KeyB和控制位的，因为M1卡允许每个]]></description><category></category></item></channel></rss>