<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Milu_Jingyu的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Milu_Jingyu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Milu_Jingyu]]></copyright><item><title><![CDATA[arm交叉编译器在linux和qnx平台的差异---记一次内存溢出导致的qnx崩溃，linux平台不崩溃问题]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/160335385</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/160335385</guid><author>Milu_Jingyu</author><pubDate>Mon, 20 Apr 2026 13:54:00 +0800</pubDate><description><![CDATA[摘要：本文分析了AArch64架构下进程内存布局特点，重点对比了Linux和QNX平台在栈保护机制上的差异。在Linux ARM交叉编译环境下，默认关闭栈保护(-fno-stack-protector)，而QNX平台默认开启-fstack-protector-strong保护。文章详细展示了进程内存空间分布，包括栈区（向低地址增长）、堆区（向高地址增长）、共享库映射区等关键区域，并以具体函数栈帧为例说明变量在栈中的排布情况。特别指出了崩溃点xxxDB_Item_Update函数栈帧中的关键变量布局，为分析栈]]></description><category></category></item><item><title><![CDATA[sqlite3_prepare_v2 与 sqlite3_exec 在 SQLite 中的核心区别]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/160115531</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/160115531</guid><author>Milu_Jingyu</author><pubDate>Mon, 13 Apr 2026 16:05:54 +0800</pubDate><description><![CDATA[SQLite中sqlite3_prepare_v2和sqlite3_exec的核心区别在于性能和安全性。sqlite3_prepare_v2通过预编译SQL语句实现高效复用，在批量操作中比sqlite3_exec快50倍以上（1000万条数据仅需92秒）。安全性方面，sqlite3_prepare_v2支持参数化绑定，能有效防止SQL注入，而sqlite3_exec存在字符串拼接风险。建议高频操作和涉及用户输入时使用sqlite3_prepare_v2，简单DDL语句可使用sqlite3_exec。预编译机]]></description><category></category></item><item><title><![CDATA[Windows与Ubuntu文件共享详细指南]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/159800937</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/159800937</guid><author>Milu_Jingyu</author><pubDate>Fri, 03 Apr 2026 16:58:42 +0800</pubDate><description><![CDATA[本文详细介绍了Windows与Ubuntu系统间实现文件共享的完整方案。主要内容包括：1)在Ubuntu上安装Samba服务；2)创建挂载点目录；3)设置Windows共享文件夹权限；4)通过CIFS协议挂载Windows共享目录；5)测试双向文件同步功能；6)配置fstab实现开机自动挂载。文章还提供了常见问题的解决方案，如权限设置、网络连接和挂载失败等注意事项。该方案可实现Windows目录与Ubuntu系统的实时双向同步，适合需要在不同操作系统间共享文件的用户。]]></description><category></category></item><item><title><![CDATA[SOCKET close后引用计数器何时归零？何时发出RST/FIN?]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/159640707</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/159640707</guid><author>Milu_Jingyu</author><pubDate>Mon, 30 Mar 2026 10:45:17 +0800</pubDate><description><![CDATA[本文分析了close()函数在TCP连接中的行为特点。通过内核源码解析，揭示了close()不会立即释放资源的关键机制：只有当f_count引用计数归零时才会触发真正的资源释放。文章通过图示展示了文件描述符表和内核数据结构的关系，并提供了两种优化关闭连接的方案：1)使用shutdown+close组合配合SO_LINGER选项；2)使用SO_REUSEADDR选项。实际测试表明，仅调用close()可能不会立即终止连接，需要确保所有引用都被清除才会发送FIN/RST包。本文为开发者正确处理TCP连接关闭提供]]></description><category></category></item><item><title><![CDATA[tcp传输字节序＜-＞大端序互转]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/156892308</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/156892308</guid><author>Milu_Jingyu</author><pubDate>Tue, 13 Jan 2026 11:06:22 +0800</pubDate><description><![CDATA[本文提供了跨平台字节序转换的完整实现方案，包含标准整数类型(16/32/64位)和浮点数的转换函数。方案通过条件编译适配不同平台(GCC/Clang/MSVC/macOS/Linux)，并提供了内存操作版本。对于Linux平台特别列出了原生转换函数的快速参考表，包括htobe16/be16toh等函数。所有实现都考虑了大小端检测和对称转换特性，确保数据在网络传输中的正确解析。]]></description><category></category></item><item><title><![CDATA[对TCP粘包情况的拆包和组包示例C语言版]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/153469977</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/153469977</guid><author>Milu_Jingyu</author><pubDate>Fri, 17 Oct 2025 15:02:46 +0800</pubDate><description><![CDATA[【代码】对TCP粘包情况的拆包和组包示例C语言版。]]></description><category></category></item><item><title><![CDATA[c++序列容器、关联容器、非序列关联容器简单介绍]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/152123718</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/152123718</guid><author>Milu_Jingyu</author><pubDate>Fri, 26 Sep 2025 13:44:40 +0800</pubDate><description><![CDATA[C++标准库容器分类与使用指南 摘要： C++标准库容器分为序列容器、关联容器和无序关联容器三大类。序列容器包括array、vector、deque、list和forward_list，支持线性存储；关联容器如set、map等使用红黑树实现有序存储；无序关联容器如unordered_set等基于哈希表实现快速查找。文章详细介绍了各类容器的特性、使用场景和性能特点，如vector适合尾部操作，list适合任意位置插入，set适合有序存储等，并提供了代码示例。最后给出容器选择建议：需考虑元素顺序、操作位置、访问]]></description><category></category></item><item><title><![CDATA[DLADDR 动态绑定 多日志系统]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/151405011</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/151405011</guid><author>Milu_Jingyu</author><pubDate>Wed, 10 Sep 2025 15:39:56 +0800</pubDate><description><![CDATA[是 Linux 系统中用于动态链接器诊断的函数，可以查询某个内存地址所在的共享对象（如可执行文件或。可以实现灵活的模块化运行时管理，尤其适合需要动态识别调用来源的场景（如日志、调试、插件系统）。可以实现运行时动态识别调用者模块（进程或动态库），适用于日志、调试、模块化系统等场景。的性能影响需要结合具体使用场景分析。在高频日志打印场景中，]]></description><category></category></item><item><title><![CDATA[fwrite和write函数的数据流，从用户缓冲区到页缓存，再到磁盘文件的完整过程]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/149770508</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/149770508</guid><author>Milu_Jingyu</author><pubDate>Wed, 30 Jul 2025 11:06:54 +0800</pubDate><description><![CDATA[摘要：fwrite函数通过多级缓冲机制实现高效文件写入，包括用户空间缓冲区、内核页缓存和磁盘存储三个阶段。用户空间缓冲区根据文件类型和模式分为全缓冲、行缓冲和无缓冲三种类型。数据通过write系统调用进入内核页缓存，最终由回写机制写入磁盘。fprintf函数遵循文件流的缓冲模式，默认使用完全缓冲。通过fflush或fsync可控制数据持久化时机，平衡I/O性能与数据一致性。该机制在保证数据可靠性的同时，显著提升了文件操作效率。]]></description><category></category></item><item><title><![CDATA[ASan 学习资源与实战指南]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/149097793</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/149097793</guid><author>Milu_Jingyu</author><pubDate>Thu, 03 Jul 2025 17:09:25 +0800</pubDate><description><![CDATA[Git**：/san Wiki://github/san/wiki/itizer   -案例分析溢出栈溢出AF    -技巧（化/误内存泄漏   - Val 的性能。交互式：[ASground](fzing-projectutorials.html   -修改查看 报告 - 10+内存。🔥 学习网站1. ****：Sanit Cl](httpsang…最的 AS技术   -编译选项类型、内部   - LinuxacOS 多。fnoize-salls \ 禁用调用优化 -g -o```]]></description><category></category></item><item><title><![CDATA[C++之std::string的resize与reverse]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/134248251</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/134248251</guid><author>Milu_Jingyu</author><pubDate>Mon, 06 Nov 2023 17:25:35 +0800</pubDate><description><![CDATA[在C++中我们经常用std::string 来保存字符串，其中有两个比较常用但是却平时容易被搞混的两个函数，分别是resize和reserve，模糊意识里，这两个方法都是对std::string的容量或元素进行操作，那么这两个函数到底做了什么呢？先声明string中的两个概念，capaticy（容量）和size（大小）]]></description><category></category></item><item><title><![CDATA[一个简单的C语言链表增删改查的例子，带有锁]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/132212733</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/132212733</guid><author>Milu_Jingyu</author><pubDate>Thu, 10 Aug 2023 16:21:59 +0800</pubDate><description><![CDATA[【代码】一个简单的C语言链表增删改查的例子，带有锁。]]></description><category></category></item><item><title><![CDATA[网络编程中的SO_REUSEADDR和SO_REUSEPORT参数详解]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/129161024</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/129161024</guid><author>Milu_Jingyu</author><pubDate>Wed, 22 Feb 2023 13:54:25 +0800</pubDate><description><![CDATA[linux kernel 3.9 引入了最新的SO_REUSEPORT选项，使得多进程或者多线程创建多个绑定同一个ip:port的监听socket，提高服务器的接收链接的并发能力,程序的扩展性更好；此时需要设置SO_REUSEPORT（注意所有进程都要设置才生效）。（3）只有effective-user-id相同的服务器进程才能监听同一ip:port （安全性考虑）（1）避免了应用层多线程或者进程监听同一ip:port的“惊群效应”。]]></description><category></category></item><item><title><![CDATA[Linux管道默认无法阻塞问题排查记录]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/129065862</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/129065862</guid><author>Milu_Jingyu</author><pubDate>Thu, 16 Feb 2023 17:25:47 +0800</pubDate><description><![CDATA[【代码】Linux管道默认无法阻塞问题排查记录。]]></description><category></category></item><item><title><![CDATA[tcp的粘包拆包及其解决方式]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/129042097</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/129042097</guid><author>Milu_Jingyu</author><pubDate>Wed, 15 Feb 2023 14:01:55 +0800</pubDate><description><![CDATA[假设客户端向服务端连续发送了两个数据包，用 packet1 和 packet2 来表示，那么服务端收到的数据可以分为三种，现列举如下第一种：服务端正常接收到这两个数据包 package1 和 package2，即没有发生拆包和粘包第二种：接收端只接收到一个包，由于tcp不会出现丢包的现象。所以这一个数据包中包含了发送端发送的两个数据包的信息，这种现象即为粘包。这种情况由于接收端不知道这两个数据包的界限，所以对于接收端来说很难处理。]]></description><category></category></item><item><title><![CDATA[POSIX 消息队列与 System V 消息队列 区别 小记]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/127964248</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/127964248</guid><author>Milu_Jingyu</author><pubDate>Mon, 21 Nov 2022 14:31:24 +0800</pubDate><description><![CDATA[【代码】POSIX 消息队列与 System V 消息队列 区别 小记。]]></description><category></category></item><item><title><![CDATA[getopt 和 getopt_long 基本用法【MAN GETOPT_LONG】]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/127903903</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/127903903</guid><author>Milu_Jingyu</author><pubDate>Thu, 17 Nov 2022 16:52:23 +0800</pubDate><description><![CDATA[【代码】getopt 和 getopt_long 基本用法【MAN GETOPT_LONG】]]></description><category></category></item><item><title><![CDATA[errno设置后的生存周期小记]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/127806920</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/127806920</guid><author>Milu_Jingyu</author><pubDate>Fri, 11 Nov 2022 15:47:45 +0800</pubDate><description><![CDATA[errno is thread-local; setting it in one thread does not affect its value in any other thread.(线程安全，不用担心被打断后，errno被其他线程修改)]]></description><category></category></item><item><title><![CDATA[局部变量作用域]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/127749213</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/127749213</guid><author>Milu_Jingyu</author><pubDate>Tue, 08 Nov 2022 13:42:36 +0800</pubDate><description><![CDATA[全局变量，在函数内定义的变量是局部变量，而在函数之外定义的变量称为外部变量，外部变量是全局变量，是在函数的外部定义的，它的作用域为从变量定义处开始，到本程序文件的末尾。在函数内引用这个变量时，会用到同名的局部变量，而不会用到全局变量。用static来声明静态局部变量，局部变量的值在函数结束后不消失而保留原值，即其占用的存储单元不释放，在下一次该函数调用时，该变量保留上次函数调用结束时的值。局部变量是指在函数内部定义的变量 ，作用域为定义局部变量的函数，也就是说他只能在定义他的函数中使用，最值得注意的是。]]></description><category></category></item><item><title><![CDATA[Linux CoreDump 生成设置]]></title><link>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/125913580</link><guid>https://blog.youkuaiyun.com/Milu_Jingyu/article/details/125913580</guid><author>Milu_Jingyu</author><pubDate>Thu, 21 Jul 2022 15:35:11 +0800</pubDate><description><![CDATA[linux系统生成core文件设置方法]]></description><category></category></item></channel></rss>