<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[A315776的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/A315776</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; A315776]]></copyright><item><title><![CDATA[c++预处理、编译、汇编、链接，动静态库、及对应的现代cmake基本操作]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/153533277</link><guid>https://blog.youkuaiyun.com/A315776/article/details/153533277</guid><author>A315776</author><pubDate>Sun, 19 Oct 2025 00:21:49 +0800</pubDate><description><![CDATA[本文介绍了C++程序的构建流程（预处理、编译、汇编、链接）及动静态库的创建方法，并展示了对应的现代CMake操作。主要内容包括：预处理阶段的头文件处理、模板替换；编译阶段的语法检查与优化；静态/动态链接的区别；使用g++创建动静态库的步骤。重点阐述了CMake的核心配置命令，包括预处理设置、编译选项、链接控制、目标级别属性管理（PRIVATE/INTERFACE/PUBLIC的作用域）以及跨平台配置技巧，为构建C++项目提供了完整的现代构建系统解决方案。]]></description><category></category></item><item><title><![CDATA[文件基本属性]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/133042523</link><guid>https://blog.youkuaiyun.com/A315776/article/details/133042523</guid><author>A315776</author><pubDate>Tue, 19 Sep 2023 23:26:18 +0800</pubDate><description><![CDATA[linux文件属性]]></description><category></category></item><item><title><![CDATA[利用GDB中coredump快速定位]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/128821851</link><guid>https://blog.youkuaiyun.com/A315776/article/details/128821851</guid><author>A315776</author><pubDate>Tue, 31 Jan 2023 19:08:20 +0800</pubDate><description><![CDATA[gdb定位coredump段错误位置]]></description><category></category></item><item><title><![CDATA[cpp几种可变参数包展开方法]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/128485295</link><guid>https://blog.youkuaiyun.com/A315776/article/details/128485295</guid><author>A315776</author><pubDate>Thu, 29 Dec 2022 20:19:04 +0800</pubDate><description><![CDATA[cpp几种可变参数包展开方法]]></description><category></category></item><item><title><![CDATA[设计模式之观察者模式]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/127678264</link><guid>https://blog.youkuaiyun.com/A315776/article/details/127678264</guid><author>A315776</author><pubDate>Thu, 03 Nov 2022 21:05:34 +0800</pubDate><description><![CDATA[设计模式之观察者模式的简单学习]]></description><category></category></item><item><title><![CDATA[蚂蚁集团2022-09-15笔试]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/126879301</link><guid>https://blog.youkuaiyun.com/A315776/article/details/126879301</guid><author>A315776</author><pubDate>Thu, 15 Sep 2022 20:53:50 +0800</pubDate><description><![CDATA[子串的定义:一个字符串取一段连续的区间得到的新字符串。例如"arcaea"的子串有"arc"、"ca"等,但"ara”则不是它的子串。例如,可以把’b’变成两个’a’,可以把z’变成两个’y。请你输出长度最短的合法字符串,有多解时输出任意即可。一个字符串,代表小红操作前的字符串。如果有多个合法解,输出任意一个合法字符串即可。小红定义一个字符串是好串,当且仅当只有一个字符出现的次数为奇数,其它字母均为偶数。一个不超过200000的，仅由小写字母组成的字符串。一个正整数x，代表最终的’a’的数量。]]></description><category></category></item><item><title><![CDATA[STL中next_permutation的使用]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/126874309</link><guid>https://blog.youkuaiyun.com/A315776/article/details/126874309</guid><author>A315776</author><pubDate>Thu, 15 Sep 2022 16:51:55 +0800</pubDate><description><![CDATA[STL中next_permutation的使用]]></description><category></category></item><item><title><![CDATA[记一个SGI空间配置器的设置OOM处理函数的用法]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/126586246</link><guid>https://blog.youkuaiyun.com/A315776/article/details/126586246</guid><author>A315776</author><pubDate>Mon, 29 Aug 2022 16:00:47 +0800</pubDate><description><![CDATA[学习SGI中的oom_handler的设置方式。]]></description><category></category></item><item><title><![CDATA[秒杀：只出现一次的数字系列]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/126311111</link><guid>https://blog.youkuaiyun.com/A315776/article/details/126311111</guid><author>A315776</author><pubDate>Sun, 14 Aug 2022 14:54:00 +0800</pubDate><description><![CDATA[给定一个数组，数组中只有一个元素出现1次，其余元素都出现k次，请找出出现1次的元素；]]></description><category></category></item><item><title><![CDATA[早悟兰因（兰因絮果）]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/125777182</link><guid>https://blog.youkuaiyun.com/A315776/article/details/125777182</guid><author>A315776</author><pubDate>Wed, 10 Aug 2022 16:35:31 +0800</pubDate><description><![CDATA[该词出自《锁麟囊》，其意大概为：早点参悟因果。在我国古代山东一带，女儿出嫁上轿前，母亲要送一只绣有麒麟的荷包，里面装上珠宝首饰，希望女儿婚后早得贵子，这只荷包锦袋也叫做“锁麟囊”，含麒麟送子之意。早悟兰因便出自该剧《锁麟囊》：“他教我收余恨、免娇嗔、且自新、改性情、休恋逝水、苦海回身、早悟兰因。”：比喻美好的结合。：比喻离散的结局。：比喻男女婚事初时美满，最终离异。亦作絮果兰因。出自《周易·系辞上》：“二人同心，其利断金；同心之言，其臭如兰。”出自《咏雪》谢道韫家宴中一句“未若柳絮因风起”。...]]></description><category></category></item><item><title><![CDATA[扩展题：删除有序数组中重复元素]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/126097024</link><guid>https://blog.youkuaiyun.com/A315776/article/details/126097024</guid><author>A315776</author><pubDate>Mon, 01 Aug 2022 11:18:44 +0800</pubDate><description><![CDATA[删除有序数组中重复项的k次扩展]]></description><category></category></item><item><title><![CDATA[十大排序算法：冒泡排序算法]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/115703246</link><guid>https://blog.youkuaiyun.com/A315776/article/details/115703246</guid><author>A315776</author><pubDate>Sat, 30 Jul 2022 17:33:48 +0800</pubDate><description><![CDATA[通过不断地交换操作，将符合要求的元素不断向后移动，达到排序的效果]]></description><category></category></item><item><title><![CDATA[c++中的四个智能指针：shared_ptr, unique_ptr, weak_ptr, auto_ptr]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/105171512</link><guid>https://blog.youkuaiyun.com/A315776/article/details/105171512</guid><author>A315776</author><pubDate>Tue, 12 Jul 2022 15:03:00 +0800</pubDate><description><![CDATA[为什么使用智能指针？
智能指针的作用是管理一个指针，因为存在以下这种情况：申请的空间在函数结束时忘记释放，造成内存泄漏。使用智能指针可以很大程度上避免这个问题，因为智能指针是一个类，当超出了这个类的作用范围时，类自动调用析构函数，析构函数会释放资源。所以智能指针的作用原理就是在函数自动结束时自动释放内存空间，不需要手动释放内存空间。...]]></description><category></category></item><item><title><![CDATA[栈的应用：中缀，后缀，前缀表达式的相互转换，及利用后缀表达式求值]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/103698788</link><guid>https://blog.youkuaiyun.com/A315776/article/details/103698788</guid><author>A315776</author><pubDate>Thu, 12 May 2022 11:02:20 +0800</pubDate><description><![CDATA[中缀，后缀，前缀

]]></description><category></category></item><item><title><![CDATA[寻找二叉树指定节点的祖先节点]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/124687761</link><guid>https://blog.youkuaiyun.com/A315776/article/details/124687761</guid><author>A315776</author><pubDate>Tue, 10 May 2022 14:35:03 +0800</pubDate><description><![CDATA[目前有两种方法：

通过后序非递归遍历来寻找指定节点的所有祖先。代码示例如下：

void getAnstor(TreeNode* rt){
        if(rt == nullptr) return;
        stack&lt;TreeNode*&gt; stack_, ts; // ts为中间栈
        unordered_set&lt;TreeNode*&gt; hash;// 标记节点是否访问过
        stack_.push(rt);
        TreeNode]]></description><category></category></item><item><title><![CDATA[十大排序算法：堆排序算法]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/115703153</link><guid>https://blog.youkuaiyun.com/A315776/article/details/115703153</guid><author>A315776</author><pubDate>Thu, 14 Apr 2022 21:07:09 +0800</pubDate><description><![CDATA[sc

]]></description><category></category></item><item><title><![CDATA[给定一个只含小写字母和数字的字符串，使用两个线程分别打印字符串中的字母和数字]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/124167398</link><guid>https://blog.youkuaiyun.com/A315776/article/details/124167398</guid><author>A315776</author><pubDate>Thu, 14 Apr 2022 11:17:22 +0800</pubDate><description><![CDATA[#include &lt;bits/stdc++.h&gt;
#include &lt;unistd.h&gt;
#include &lt;semaphore.h&gt;
#include &lt;mutex&gt;
using namespace std;

string str = "12abs45a2a";
int c = 0;

sem_t sem1, sem2;

void func1(){ //打印字母
    while(c &lt; str.size()){
        if(str[c]]></description><category></category></item><item><title><![CDATA[关于extern “C“]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/124051339</link><guid>https://blog.youkuaiyun.com/A315776/article/details/124051339</guid><author>A315776</author><pubDate>Sat, 09 Apr 2022 15:00:53 +0800</pubDate><description><![CDATA[首先说明linux下生成静态链接库libxxx.a和动态链接库libxxx.so
假设现在有func.h以及其中函数的实现文件func.cpp


静态库.a   ：ar -rcs libfunc.a func.cpp
动态库.so : g++ -fpic -shared func.cpp -o libfunc.so


gcc和g++会优先搜索.so,其次寻找.a

为了解释extern "C"需要用到工具反汇编工具objdump, 使用objdump -t *查看符号表
utils.h
int fun.]]></description><category></category></item><item><title><![CDATA[剑指 Offer 48. 最长不含重复字符的子字符串]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/123569114</link><guid>https://blog.youkuaiyun.com/A315776/article/details/123569114</guid><author>A315776</author><pubDate>Fri, 18 Mar 2022 11:10:10 +0800</pubDate><description><![CDATA[题目描述
思路

lastRepeatIndex：表示上一次重复字符的下标
map&lt;char, int&gt; hash: 比如hash[‘a’] = 2，一方面该数据结构可以判断，当前遍历字符之前有没有出现过；另一方面，可以获取如果字符出现过，出现的位置在哪。

定义f数组，f[i] = k 表示str[0-i]序列的最长的不包含重复字符的子字符串的长度为k
动规转移方程：
     		 |   1, i == 0
    		 |   f[i-1] + 1; i &gt;= 1当前字符没有出现过]]></description><category></category></item><item><title><![CDATA[leetcode： 面试题 04.10. 检查子树]]></title><link>https://blog.youkuaiyun.com/A315776/article/details/123558975</link><guid>https://blog.youkuaiyun.com/A315776/article/details/123558975</guid><author>A315776</author><pubDate>Thu, 17 Mar 2022 19:58:54 +0800</pubDate><description><![CDATA[题目描述
思路
因为如果t2时t1的子树，那么t1中必存在至少一个节点的值与t2根节点的值相同；再者，如果两个树相同，则三个遍历序列也必然相同；根据此思路，写出代码逻辑如下：

先先序（中序，后序也可）遍历t1,过程中判断当前遍历到节点的值是否与t2树根节点的值相同
如果相同，进行子树是否相同判断；否则继续遍历

子树是否相同的判断逻辑是：
同时对两树进行先序遍历（中序，后序亦可），当当前遍历到的节点有一方为空，而另一方不为空，则两个树不同；当两个都为空时，表示是同树的；最后判断节点值，递归判断下去即可！
]]></description><category></category></item></channel></rss>