<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[power1952的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/power1952</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; power1952]]></copyright><item><title><![CDATA[如何获得 compile_commands.json]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/148169529</link><guid>https://blog.youkuaiyun.com/power1952/article/details/148169529</guid><author>power1952</author><pubDate>Fri, 23 May 2025 15:36:40 +0800</pubDate><description><![CDATA[使用 bear例如cmake : 可以通过 CMAKE_EXPORT_COMPILE_COMMANDS 使 cmake 在编译时生成 compile_commands.json。可以在 CmakeLists.txt 中设置 CMAKE_EXPORT_COMPILE_COMMANDS 为 ON，例如。也可以在命令行设置，例如。]]></description><category></category></item><item><title><![CDATA[如何精简 linux kernel defconfig 文件 ？]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/146205982</link><guid>https://blog.youkuaiyun.com/power1952/article/details/146205982</guid><author>power1952</author><pubDate>Wed, 12 Mar 2025 15:12:30 +0800</pubDate><description><![CDATA[使用 make savedefconfig 命令精简 defconfig 文件。]]></description><category></category></item><item><title><![CDATA[前向兼容、向前兼容、向后兼容傻傻分不清楚]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/145959852</link><guid>https://blog.youkuaiyun.com/power1952/article/details/145959852</guid><author>power1952</author><pubDate>Sun, 02 Mar 2025 10:45:57 +0800</pubDate><description><![CDATA[向后 == 后向 == backward compatible。前向 == 向前 == forwards compatible。backwards compatible —— 向过去兼容。forwards compatible —— 向未来兼容。根据语境总结了一些它们的含义。这里面的“前”是前面还是以前？这里面的“后”是以后还是后面？]]></description><category></category></item><item><title><![CDATA[如何克隆 clone linux kernel 代码仓库]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/145906881</link><guid>https://blog.youkuaiyun.com/power1952/article/details/145906881</guid><author>power1952</author><pubDate>Thu, 27 Feb 2025 16:10:47 +0800</pubDate><description><![CDATA[打开 https://git.kernel.org/搜索 Linus Torvalds ， 找到描述为 Linux kernel source tree 的那个仓库， 就是 linux kernel 主干代码了。打开这个仓库的页面， 可以看到克隆地址为 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git就可以克隆 linux kernel 主干代码仓库。]]></description><category></category></item><item><title><![CDATA[磁盘分区工具]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/145601282</link><guid>https://blog.youkuaiyun.com/power1952/article/details/145601282</guid><author>power1952</author><pubDate>Wed, 12 Feb 2025 22:32:24 +0800</pubDate><description><![CDATA[优秀的交互式分区工具。如果要在脚本中使用，就不那么方便了。]]></description><category></category></item><item><title><![CDATA[Repo、manifest以及Gerrit分别是什么？]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/145597631</link><guid>https://blog.youkuaiyun.com/power1952/article/details/145597631</guid><author>power1952</author><pubDate>Wed, 12 Feb 2025 18:03:36 +0800</pubDate><description><![CDATA[Gerrit、Repo以及Manifest在协同开发中的作用：]]></description><category></category></item><item><title><![CDATA[malloc空闲链表]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/144865315</link><guid>https://blog.youkuaiyun.com/power1952/article/details/144865315</guid><author>power1952</author><pubDate>Mon, 10 Feb 2025 16:23:27 +0800</pubDate><description><![CDATA[找到合适的内存块后，如果这个内存块比用户请求的大小要大，那么就会按需将其分割成两部分，一部分的大小刚好与用户请求的大小相等，这部分就会分配给用户使用，而剩下的那部分则会被放回空闲链表中，等待后续其他的内存分配请求再进行分配。不过，随着程序不断地分配和释放内存，空闲链有可能会被切成很多的小内存片段，要是后续用户申请一个较大的内存片段时，空闲链上可能暂时没有可以满足要求的片段了，这时malloc函数可能就需要进行一些整理操作，比如对这些小的空闲块尝试合并等，以便能满足较大内存请求的情况。]]></description><category></category></item><item><title><![CDATA[linux上给磁盘分区和格式化分区]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/142835157</link><guid>https://blog.youkuaiyun.com/power1952/article/details/142835157</guid><author>power1952</author><pubDate>Fri, 11 Oct 2024 00:29:56 +0800</pubDate><description><![CDATA[会进入fdisk交互式界面。输入 m 可查看帮助。g创建一个 gpt 分区表。n新建一个分区。提示输入第一个扇区号，使用默认值即可，直接按回车。提示输入最后一个扇区号，使用默认值即可，直接按回车。w将新分区表写入磁盘。会退出fdisk交互界面。查看磁盘分区。]]></description><category></category></item><item><title><![CDATA[binutils 介绍]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/141094930</link><guid>https://blog.youkuaiyun.com/power1952/article/details/141094930</guid><author>power1952</author><pubDate>Sat, 10 Aug 2024 19:20:47 +0800</pubDate><description><![CDATA[然而，objdump有一个比较有用的功能，它能显示反汇编后的目标代码。objcopy - 将一个二进制目标文件的内容赋值到另一个文件中，在这个过程中可能转换目标文件的格式。ldd - 列出一个或多个目标文件所依赖的共享库。它是C库软件包的一部分。prelink - 对共享库和依赖它们的目标文件进行预链接，从而事先处理未解析的程序库引用。readelf - 提取elf文件中的各种内容。strip - 删除一个二进制文件中的符号和调试信息。nm - 显示目标文件中的符号。提取 elf 中所有的段。]]></description><category></category></item><item><title><![CDATA[一些linux调试工具]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/141094224</link><guid>https://blog.youkuaiyun.com/power1952/article/details/141094224</guid><author>power1952</author><pubDate>Sat, 10 Aug 2024 18:12:41 +0800</pubDate><description><![CDATA[dmalloc - 一个强大的动态内存分析工具。dmalloc 包含一个命令行工具和一个 dmalloc 库。要使用dmalloc，应用程序必须链接 dmalloc 库。mtrace - 分析进程调用 malloc、realloc、free 的情况，并生成报告。ltrace - 捕捉一个应用调用的库函数。strace - 捕捉一个应用的系统调用。top - 周期性显示系统进程。ps - 列出所有进程。]]></description><category></category></item><item><title><![CDATA[ulimit]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/141094177</link><guid>https://blog.youkuaiyun.com/power1952/article/details/141094177</guid><author>power1952</author><pubDate>Sat, 10 Aug 2024 18:00:37 +0800</pubDate><description><![CDATA[Linux 上 ulimit 命令用于查看和设置进程可使用的资源。]]></description><category></category></item><item><title><![CDATA[FHS：文件系统层次结构标准]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/141094016</link><guid>https://blog.youkuaiyun.com/power1952/article/details/141094016</guid><author>power1952</author><pubDate>Sat, 10 Aug 2024 17:51:08 +0800</pubDate><description><![CDATA[FHS文档： https://refspecs.linuxfoundation.org/fhs.shtml。FHS用来规定UNIX文件系统的组织结构和布局。它增强了不同Linux发行版和应用之间的兼容性。]]></description><category></category></item><item><title><![CDATA[linux cmdline parameters]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/141093799</link><guid>https://blog.youkuaiyun.com/power1952/article/details/141093799</guid><author>power1952</author><pubDate>Sat, 10 Aug 2024 17:35:10 +0800</pubDate><description><![CDATA[Linux 内核定义了大量的命令行参数。内核源码的 Documentation 中有一个  kernel-parameters.txt 文件，其中按照字典顺序列出了所有的内核参数。但内核源码变化快于它的文档，因此不要将该文档作为权威参考。]]></description><category></category></item><item><title><![CDATA[编译linux kernel时，如何增加一个include路径？]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/140541608</link><guid>https://blog.youkuaiyun.com/power1952/article/details/140541608</guid><author>power1952</author><pubDate>Fri, 19 Jul 2024 10:10:58 +0800</pubDate><description><![CDATA[就是要增加的include路径。他会被传递给gcc或clang的-I选项，用于添加一个新的include路径。是你的交叉编译器前缀，例如 arm-linux-。是你的目标架构，例如 x86、arm 等。]]></description><category></category></item><item><title><![CDATA[linux sysrq用法]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/140329070</link><guid>https://blog.youkuaiyun.com/power1952/article/details/140329070</guid><author>power1952</author><pubDate>Wed, 10 Jul 2024 17:10:55 +0800</pubDate><description><![CDATA[还可以按 Alt+Sysrq+P 键制造panic。Sysrq键到底是哪个键呢？百度得知Sysrq键就是print screen键。linux kernel支持一个称为sysrq的特殊功能。它允许用户空间执行一些系统级操作。在大多数linux系统中默认关闭了sysrq功能。Sysrq除了可以制造panic，还具有其他功能。]]></description><category></category></item><item><title><![CDATA[cache coloring 缓存着色]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/136475420</link><guid>https://blog.youkuaiyun.com/power1952/article/details/136475420</guid><author>power1952</author><pubDate>Tue, 05 Mar 2024 12:44:00 +0800</pubDate><description><![CDATA[cache coloring]]></description><category></category></item><item><title><![CDATA[cache基础]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/136472919</link><guid>https://blog.youkuaiyun.com/power1952/article/details/136472919</guid><author>power1952</author><pubDate>Tue, 05 Mar 2024 11:01:52 +0800</pubDate><description><![CDATA[set index 是 cache line 在 way 中的序号。
set index 通常直接简称为 index 。
如果一个物理地址确定，那么其 index 就确定了，这个地址对应的数据缓存在哪个 set 中也就确定了。
如上图所示， 物理地址的 bits[y-1:x] 决定了数据缓存在哪个set中。
一个物理地址上的数据缓存时，只会缓存到固定的set中， 如果cache已满，只会逐出同一set的cache line，而不会影响其他set的cache line。
一个page缓存时会占用多个set]]></description><category></category></item><item><title><![CDATA[得其意，忘其形]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/136362661</link><guid>https://blog.youkuaiyun.com/power1952/article/details/136362661</guid><author>power1952</author><pubDate>Thu, 29 Feb 2024 09:44:42 +0800</pubDate><description><![CDATA[道德经里说，道可道，非常道，名可名，非常名。方为做学问之最高境界。]]></description><category></category></item><item><title><![CDATA[Atomic access 与 Exclusive access 的区别]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/136172916</link><guid>https://blog.youkuaiyun.com/power1952/article/details/136172916</guid><author>power1952</author><pubDate>Mon, 19 Feb 2024 16:16:04 +0800</pubDate><description><![CDATA[Atomic access（原子访问）和Exclusive access（独占访问）是两种不同的访问机制，它们主要用于处理并发访问和多线程环境中的资源访问问题。]]></description><category></category></item><item><title><![CDATA[如何清除文件页缓存]]></title><link>https://blog.youkuaiyun.com/power1952/article/details/135727871</link><guid>https://blog.youkuaiyun.com/power1952/article/details/135727871</guid><author>power1952</author><pubDate>Sun, 21 Jan 2024 12:27:58 +0800</pubDate><description><![CDATA[【代码】如何清除文件页缓存。]]></description><category></category></item></channel></rss>