<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Poo_Chai的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Poo_Chai</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Poo_Chai]]></copyright><item><title><![CDATA[QT emit信号后完整处理流程，包括槽函数响应流程]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/163761785</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/163761785</guid><author>Poo_Chai</author><pubDate>Fri, 14 Aug 2026 20:11:34 +0800</pubDate><description><![CDATA[‌同线程 = 直接调用emit等同于直接调用槽函数。‌无事件循环参与‌：不需要正在运行也能工作（只要对象已创建并连接）。‌线程安全警告‌：虽然同线程调用是安全的，但如果槽函数修改了共享数据，而其他线程也在访问该数据，仍需加锁。但在纯单线程环境下，无需担心竞态条件。‌性能‌：这是最高效的信号槽连接方式，因为没有内存分配（拷贝参数到事件）和上下文切换开销。]]></description><category></category></item><item><title><![CDATA[GCC编译优化级别具体干了啥]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/130653770</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/130653770</guid><author>Poo_Chai</author><pubDate>Sat, 13 May 2023 09:43:39 +0800</pubDate><description><![CDATA[O2：在-O1基础上，另外增加了不执行空间和时间折中的优化，涉及指令重排，不进行循环展开和函数内联，该优化选项会牺牲部分编译速度，采用几乎所有的目标配置支持的优化算法，用以提高目标代码的运行速度。-O3：最高级别优化，这是最高最危险的优化等级。用这个选项会延长编译代码的时间，编译所有的软件包将产生更大体积更耗内存的二进制文件，大大增加编译失败的机会或不可预知的程序行为（包括错误）-O1：最基本的优化等级，主要涉及常量合并，条件分支和表达式优化，循环展开Loop Unroll与简化等，函数内联，]]></description><category></category></item><item><title><![CDATA[gcc编译参数的指定问题]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/125717934</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/125717934</guid><author>Poo_Chai</author><pubDate>Sat, 13 May 2023 09:15:40 +0800</pubDate><description><![CDATA[那些以.开头的行主要用于后期链接时期使用的辅助信息，不会实际执行。生成的.s文件中的以.开头的行，可以直接删掉，得到纯汇编代码。-m32 ：指定32位编译。-m64：指定64位编译。1. 指定生成汇编代码：  -S。]]></description><category></category></item><item><title><![CDATA[cmake学习]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/130135436</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/130135436</guid><author>Poo_Chai</author><pubDate>Thu, 13 Apr 2023 17:18:33 +0800</pubDate><description><![CDATA[cmake]]></description><category></category></item><item><title><![CDATA[C++定时器]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/130111116</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/130111116</guid><author>Poo_Chai</author><pubDate>Wed, 12 Apr 2023 17:39:29 +0800</pubDate><description><![CDATA[C++实现定时器]]></description><category></category></item><item><title><![CDATA[FreeRTOS小知识点]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/127523606</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/127523606</guid><author>Poo_Chai</author><pubDate>Tue, 25 Oct 2022 22:48:55 +0800</pubDate><description><![CDATA[介绍FREERTOS的一些小细节]]></description><category></category></item><item><title><![CDATA[面试问题精选一]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/127523564</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/127523564</guid><author>Poo_Chai</author><pubDate>Tue, 25 Oct 2022 22:44:27 +0800</pubDate><description><![CDATA[专供面试环节，]]></description><category></category></item><item><title><![CDATA[面试问题精选一]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/127523537</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/127523537</guid><author>Poo_Chai</author><pubDate>Tue, 25 Oct 2022 22:43:09 +0800</pubDate><description><![CDATA[专供面试]]></description><category></category></item><item><title><![CDATA[C++常见的I/O宏]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/127222930</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/127222930</guid><author>Poo_Chai</author><pubDate>Sun, 09 Oct 2022 11:00:42 +0800</pubDate><description><![CDATA[C++常见IO宏]]></description><category></category></item><item><title><![CDATA[模板函数匹配规则]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/124509531</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/124509531</guid><author>Poo_Chai</author><pubDate>Sat, 30 Apr 2022 10:37:53 +0800</pubDate><description><![CDATA[模板函数匹配是一般规则是：

1. 先匹配模板及其重载（模板本身的匹配）

2. 上面一步没匹配到的话，再继续匹配特例化模板（模板实例化的匹配）



可以看看下面的代码：


// Example program
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

template&lt;class T&gt;   /// 1
void foo(T t) {
    cout &lt;&lt; 0;
}

tem]]></description><category></category></item><item><title><![CDATA[C++常用容器内存分布情况]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/124489022</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/124489022</guid><author>Poo_Chai</author><pubDate>Fri, 29 Apr 2022 09:45:15 +0800</pubDate><description><![CDATA[首先，强调一点，对象（如容器）本身的存储位置和其数据的存储位置往往不是在一起的，比如堆栈存储分离的模式。



先举个例子：vector和array

vector和array

array是c++11之后新加的容器类型，他比vector更加轻便。
	array的数据存储在栈中，vector的数据存储在堆中。所以
	array容器处理数据的效率更快
		vector处理数据的量更大
	
	vector更强大，封装的函数更多；array更轻便，更适合一些操作简单，数据量比较少的情况。
另外，其他的容器，智能指]]></description><category></category></item><item><title><![CDATA[使用{}和()调用构造函数的区别]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/124479706</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/124479706</guid><author>Poo_Chai</author><pubDate>Thu, 28 Apr 2022 17:49:45 +0800</pubDate><description><![CDATA[使用{}和()调用构造函数有哪些区别呢？

我们知道，初始化列表是C++11后新加的特性，用来方便类类型的初始化。

另外，它也可以用在基本类型的初始化上。










]]></description><category></category></item><item><title><![CDATA[算法题解1]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/124329054</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/124329054</guid><author>Poo_Chai</author><pubDate>Thu, 21 Apr 2022 19:15:57 +0800</pubDate><description><![CDATA[题目：

给定一个二维数组，数字表示海拔高度，输入起始点和终点，判断从起始点能否达到终点？

条件：

1. 搜寻过程，每次只能移动一步，步长为1，且海拔为0的点才能作为搜寻经过的路线

2. 搜寻过程中，直角拐弯（90度）次数不能超过K次, K=2





例子：

矩阵matrix=[

[1 0 5 5]

[3 0 0 3]

[5 7 0 1]

]



起点：(0,0), 终点：(2,3)

输出：

 No



解题思路：

（1）路径搜索，用回溯算法，必须定义访问数组vis

（...]]></description><category></category></item><item><title><![CDATA[Linux IO模式及 select、poll、epoll详解]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/123976157</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/123976157</guid><author>Poo_Chai</author><pubDate>Tue, 05 Apr 2022 20:14:50 +0800</pubDate><description><![CDATA[注：本文是对众多博客的学习和总结，可能存在理解错误。请带着怀疑的眼光，同时如果有错误希望能指出。


同步IO和异步IO，阻塞IO和非阻塞IO分别是什么，到底有什么区别？不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。


本文讨论的背景是Linux环境下的network IO。


一 概念说明

在进行解释之前，首先要说明几个概念：
- 用户空间和内核空间
- 进程切换
- 进程的阻塞
- 文件描述符
- 缓存 I/O

用户空间与内核空间

现在操作系统都是采用虚拟存储器，那.]]></description><category></category></item><item><title><![CDATA[c/c++函数调用栈入栈顺序]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/123971282</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/123971282</guid><author>Poo_Chai</author><pubDate>Tue, 05 Apr 2022 16:25:59 +0800</pubDate><description><![CDATA[{

...
6   bool flag;
7   int a = 12;
8   char c = 'k';
9   addToFirst(a, c);//把结果赋给第一个参数，引用传递
10  flag = 12 &gt; a;

...
}

当运行到行9时，系统栈上新建一个栈帧，依次入栈：c,a,下一条指令地址，如下：



第10行代码指令地址//代码区调用指令的下一条指令地址压入栈中，供函数返回时继续执行 （栈顶）

a

c

...原先栈的内容（栈底）


]]></description><category></category></item><item><title><![CDATA[关于远程连接身份验证错误，又找不到加密Oracle修正的问题]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/123479556</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/123479556</guid><author>Poo_Chai</author><pubDate>Mon, 14 Mar 2022 15:27:05 +0800</pubDate><description><![CDATA[1. 打开注册表，快捷输入 “regedit”（类似找命令提示符 输入 cmd 一样）

2.找文件夹 路径，看看是否存在AllowEncryptionOracle：[HKEY_LOCAL_MACHINE]\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters

















3. 若不存在，可以直接复制以下内容到记事本，然后把文件后缀改成.reg，点击运行即自动注册到注册表：

...]]></description><category></category></item><item><title><![CDATA[专业的翻译网站]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/116100531</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/116100531</guid><author>Poo_Chai</author><pubDate>Sat, 24 Apr 2021 18:58:18 +0800</pubDate><description><![CDATA[给大家推荐一个用于专业翻译的网站：
CNKI学术翻译：https://dict.cnki.net/h_33281000.html

]]></description><category></category></item><item><title><![CDATA[C++11 POD类型]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/108908154</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/108908154</guid><author>Poo_Chai</author><pubDate>Sat, 03 Oct 2020 10:09:40 +0800</pubDate><description><![CDATA[C++11 POD类型

POD，全称plain old data，plain代表它是一个普通类型，old代表它可以与c兼容，可以使用比如memcpy()这类c中最原始函数进行操作。C++11中把POD分为了两个基本概念的集合，即：平凡的（trival）和标准布局的（standard layout）。

1、首先是平凡的（trival）定义，通常一个平凡的类或者结构体需要满足以下定义

　　(1).拥有平凡的默认构造函数和析构函数。默认的意思就是由编译器为我们自动生成的，不许是我们自己定义的，而一旦定义了构]]></description><category></category></item><item><title><![CDATA[Xilinx FPGA内部体系结构]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/104813654</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/104813654</guid><author>Poo_Chai</author><pubDate>Thu, 12 Mar 2020 10:42:01 +0800</pubDate><description><![CDATA[Xilinx的FPGA的基本结构是一样的，主要由6部分组成，分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。

但随着半导体工艺的发展，FPGA的逻辑容量越来越丰富，速度更快，嵌入越来越多的硬核了，比如：ARM处理器，PCIe, ETHERNET等。在制程工艺上，Xilinx的7系列FPGA采用28 nm工艺，UltraScale采...]]></description><category></category></item><item><title><![CDATA[截长图]]></title><link>https://blog.youkuaiyun.com/Poo_Chai/article/details/104699721</link><guid>https://blog.youkuaiyun.com/Poo_Chai/article/details/104699721</guid><author>Poo_Chai</author><pubDate>Fri, 06 Mar 2020 17:04:30 +0800</pubDate><description><![CDATA[]]></description><category></category></item></channel></rss>