Clion中C++中文乱码终极解决方案:从编码原理到工程实践
1. 项目概述Clion中C中文乱码的“前世今生”如果你在用Clion写C并且在控制台打印中文时看到的是一堆问号“”或者像“浣犲ソ”这样的天书别慌这几乎是每个C开发者在Windows平台上都会遇到的“经典”入门礼。这个问题看似简单背后却牵扯到源代码文件编码、编译器处理、终端显示三个环节的字符集“接力赛”任何一个环节对不上乱码就出现了。我经历过无数次从源码到屏幕的字符“失踪案”今天就把这套排查和解决的组合拳拆解清楚让你不仅能解决Clion里的问题更能理解乱码产生的根本原理以后在任何IDE或环境下遇到类似问题都能自己搞定。简单来说Clion本身只是一个强大的编辑器它负责读取和保存你的源代码文件。当你点击运行Clion会调用CMake生成构建脚本然后调用你配置的编译器比如MinGW-w64的GCC或MSVC来编译代码最后在它内置的终端或者系统的控制台里运行生成的可执行文件。中文乱码就潜伏在这个链条里你的源代码文件以某种编码如UTF-8保存编译器在编译时需要知道源文件的编码才能正确理解字符串字面量最后运行程序的终端比如Windows的cmd或PowerShell又有自己的一套活动代码页如GBK。这三者的编码必须兼容或正确转换中文才能正常显示。2. 乱码根源深度剖析从源码到屏幕的字符之旅要解决问题必须先当“侦探”搞清楚乱码出在哪个环节。乱码的表现形式就是线索。2.1 三种典型的乱码场景与诊断场景一输出全是问号或方框□□□这通常意味着终端完全无法识别输出的字节序列。最常见的原因是源代码文件是UTF-8编码带或不带BOM但编译器被当作GBK编码处理或者终端是GBK编码但程序输出的是UTF-8字节。例如UTF-8编码的“你好”是字节序列\xE4\xBD\xA0\xE5\xA5\xBD如果终端用GBK去解码就会尝试把\xE4\xBD解释为一个GBK字符但找不到对应字符于是显示为问号或方框。如何诊断在Clion中查看文件编码右下角状态栏会显示当前文件的编码如“UTF-8”、“GBK”。同时观察Clion运行配置的“运行”选项卡程序输出是在“Run”窗口还是“Terminal”窗口这两个窗口的编码可能不同。场景二输出是奇怪的汉字组合如“浣犲ソ”这种乱码看起来像是有意义的汉字但完全不是原文。这是典型的编码转换错配。比如源代码以GBK编码保存了“你好”GBK字节为\xC4\xE3\xBA\xC3但Clion或编译器误以为它是UTF-8编码。UTF-8解码器会尝试将\xC4\xE3解释为一个UTF-8字符的首字节但\xC4在UTF-8中不是一个有效的首字节UTF-8首字节有特定范围或者它被错误解析最终显示为其他字符。如何诊断这强烈暗示了源文件编码与编译器解读的编码不一致。你需要确认两件事1. 源文件的真实编码可以用Notepad等工具打开查看编码2. 编译器是否指定了正确的源文件编码选项。场景三Clion编辑器内显示正常但运行后乱码这说明Clion编辑器正确解码了源文件但运行环境编译器或终端的编码设置不对。焦点应放在编译参数和终端环境上。2.2 核心环节拆解文件、编译器与终端1. 源代码文件编码这是所有问题的起点。在Windows上新建的文本文件默认编码可能是ANSI在中文系统下即为GBK而现代项目和跨平台协作更推荐使用UTF-8。Clion默认也倾向于UTF-8。你需要统一团队或项目的文件编码规范。2. 编译器编码处理GCC/G编译器有一个关键选项-finput-charset和-fexec-charsetMSVC对应/source-charset和/execution-charset。-finput-charset指定源代码文件的字符集。如果源文件是UTF-8但编译器用GBK去读就会在编译阶段出错或产生乱码的中间表示。-fexec-charset指定编译后程序内部使用的字符集即字符串字面量在最终可执行文件中的编码。它需要与终端编码匹配或者程序在输出时进行转换。3. 终端/控制台编码这是最后一公里。Windows命令提示符cmd默认使用活动代码页936即GBK。PowerShell Corepwsh和Windows Terminal默认使用UTF-8但传统的PowerShell和Clion内置的终端模拟器可能需要配置。程序输出的字节流必须与终端期待的编码一致。3. 解决方案实战针对不同编译器的配置理解了原理我们来动手解决。方案因你使用的编译器套件Toolchains而异。3.1 方案A使用MinGW-w64 GCC/G最常见这是Windows上C开发非常流行的选择。Clion通常捆绑或允许你配置MinGW。步骤1统一源代码编码为UTF-8在Clion中打开有中文的源文件查看右下角编码。如果不是UTF-8点击编码名称选择“Convert to UTF-8”。更一劳永逸的方法是设置项目默认编码File - Settings - Editor - File Encodings将“Global Encoding”、“Project Encoding”和“Default encoding for properties files”都设置为“UTF-8”。确保“Transparent native-to-ascii conversion”选项不要勾选这个选项是针对.properties文件的勾选可能引起其他问题。步骤2为编译器添加编码参数这是最关键的一步。我们需要修改CMakeLists.txt文件为编译器添加必要的标志。打开你项目根目录下的CMakeLists.txt文件在add_executable命令之后添加以下设置if (CMAKE_CXX_COMPILER_ID STREQUAL GNU) # 告诉编译器源文件是UTF-8编码的 add_compile_options(-finput-charsetUTF-8) # 告诉编译器将字符串字面量转换为UTF-8编码存入可执行文件 add_compile_options(-fexec-charsetUTF-8) # 对于宽字符也使用UTF-32或UTF-16但GCC在Windows上通常用UTF-32 add_compile_options(-fwide-exec-charsetUTF-32) endif()-fexec-charsetUTF-8意味着无论源文件是什么编码编译器都会将字符串字面量如你好转换为UTF-8编码并存储在可执行文件的常量区。这样你的程序运行时输出的就是UTF-8字节流。步骤3配置Clion运行终端为UTF-8光程序输出UTF-8还不够显示它的终端也必须能理解UTF-8。打开Clion的File - Settings - Tools - Terminal。在“Shell path”处如果你用的是PowerShell可以尝试改为cmd.exe并配置代码页但更推荐配置PowerShell支持UTF-8。一个更直接的方法是修改启动命令强制设置代码页。一个有效的方法是修改运行配置的环境变量。进入Run - Edit Configurations...选择你的运行配置。在“Configuration”标签页找到“Environment variables”字段点击旁边的“...”按钮。添加一个新的环境变量Name为PYTHONIOENCODING这个变量会影响Python子进程有时Clion会用到Value为utf-8。更重要的是添加变量Name为CHCPValue为65001。chcp 65001是Windows命令提示符切换为UTF-8代码页的命令。通过环境变量设置Clion会在启动终端时尝试执行。注意直接设置CHCP环境变量可能不总是有效取决于终端模拟器。最可靠的方法是直接配置终端本身。更可靠的方法修改Windows终端默认编码需Windows 10以上打开Windows Terminal如果没有可从Microsoft Store安装。在Clion的Settings - Tools - Terminal中将“Shell path”设置为Windows Terminal的路径例如wt.exe。或者更简单的是直接使用系统默认的PowerShell但通过修改注册表或配置文件使其默认UTF-8。对于PowerShell可以打开PowerShell执行$OutputEncoding [System.Text.Encoding]::UTF8并修改配置文件使其永久生效。但对于Clion内置终端一个实操中更简单的办法是在运行配置的“Before launch”部分添加一个“Run External tool”任务执行chcp 65001命令。步骤4验证与测试创建一个简单的测试程序#include iostream int main() { std::cout 你好世界 std::endl; return 0; }保存为UTF-8编码构建并运行。如果看到正确的中文恭喜你。如果还是乱码请继续看下面的排查章节。3.2 方案B使用MSVC编译器如果你使用Visual Studio的MSVC编译器通过Visual Studio开发工具集处理方式略有不同。步骤1统一源代码编码为UTF-8与MinGW方案相同确保Clion和源文件都是UTF-8。步骤2添加MSVC编译选项在CMakeLists.txt中针对MSVC添加编译选项if (MSVC) # 指定源文件字符集为UTF-8 add_compile_options(/utf-8) # /utf-8 选项相当于同时设置了 /source-charset:utf-8 和 /execution-charset:utf-8 endif()MSVC的/utf-8选项非常方便它一次性解决了输入和执行字符集的问题。这是Visual Studio 2015 Update 2及以后版本引入的。步骤3终端配置MSVC编译出的程序其字符串字面量编码由/execution-charset或/utf-8控制。如果你设置为UTF-8那么终端同样需要支持UTF-8。配置方法与MinGW方案中的步骤3完全相同核心是让运行环境的控制台使用UTF-8代码页65001。3.3 方案C跨平台项目的通用CMake配置对于需要在Linux/macOS/Windows上编译的项目我们可以编写一个更健壮的CMake配置自动适配不同平台和编译器。# 设置项目默认编码为UTF-8影响IDE set(CMAKE_CXX_STANDARD 11) # 处理编码问题 if (MSVC) # MSVC编译器使用/utf-8选项 add_compile_options(/utf-8) else() # 对于GCC/Clang等编译器 add_compile_options(-finput-charsetUTF-8) add_compile_options(-fexec-charsetUTF-8) # 在Windows的MinGW上可能需要额外处理宽字符 if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL GNU) add_compile_options(-fwide-exec-charsetUTF-32) endif() endif() # 可选定义一个宏用于在代码中检测或处理编码高级用法 add_compile_definitions(MY_PROJECT_ENCODING_UTF8)这个配置块可以放在你的CMakeLists.txt中project()命令之后add_executable之前。它确保了无论在哪台机器、哪个编译器上构建都会应用正确的编码选项。4. 高级技巧与深度排查指南即使配置了上述选项问题可能依然存在。下面是一些更深层次的排查点和技巧。4.1 检查“真正的”编译器命令有时CMake生成的构建命令可能没有正确传递我们的选项。我们可以让CMake打印出详细的编译命令来验证。在Clion中打开Settings - Build, Execution, Deployment - CMake找到你的构建配置如Debug在“CMake options”字段中添加-DCMAKE_VERBOSE_MAKEFILE:BOOLON。然后重新构建项目。在“Build”工具窗口的输出中你将看到每个源文件编译时调用的完整命令。检查其中是否包含了-finput-charsetUTF-8 -fexec-charsetUTF-8或/utf-8选项。4.2 处理第三方库或遗留代码非UTF-8源文件如果你的项目包含一些遗留的GBK编码源文件或者引入的第三方库头文件是其他编码强制使用-finput-charsetUTF-8会导致这些文件编译错误。此时更精细的控制是必要的。分离编码区域尽量将项目核心代码转换为UTF-8。对于无法转换的第三方头文件如果它们只包含ASCII字符如大多数C/C标准库头文件、纯英文注释的库那么即使它们是GBK编码只要内容在ASCII范围内用UTF-8编译器读取通常也是安全的因为ASCII是UTF-8的子集。为特定文件指定编码对于个别必须保持GBK的文件GCC没有直接的CMake选项来为单个文件设置-finput-charset。一个变通方法是将这些文件单独编译成一个静态库在编译这个库时使用GBK编码选项然后主项目链接这个库。但这比较繁琐。运行时转换如果源文件编码混杂一个更根本的解决方案是在源代码中所有字符串字面量都使用ASCII而将中文字符串放在单独的资源文件如.txt、.json或代码中的u8前缀字符串中并确保这些资源文件是UTF-8编码在运行时加载。对于必须写在代码里的可以使用u8前缀C11起来强制指定为UTF-8编码的字符串字面量std::cout u8你好世界 std::endl;这告诉编译器这个字符串字面量就是UTF-8编码的不受-fexec-charset影响。但注意u8字符串的类型是const char8_t*C20或const char*C17及之前但编码是UTF-8与普通的const char*在类型上可能不兼容直接传给std::cout在C17下可以在C20可能需要转换。4.3 Windows控制台字体问题即使编码都正确如果Windows控制台使用的字体不包含中文字形中文也可能显示为方框。确保你的终端无论是cmd、PowerShell还是Windows Terminal使用的字体支持中文例如“等距更纱黑体 SC Nerd Font”、“Microsoft YaHei Mono”或“Consolas”需开启中文支持。在Windows Terminal的设置中可以轻松更改字体。4.4 使用宽字符输出wcout的陷阱有些教程会建议使用std::wcout和L”你好”宽字符串来解决乱码。这在理论上可行因为宽字符wchar_t在Windows上是16位的UTF-16或UCS-2与Windows原生API兼容。但实践中这引入了更多复杂性需要设置locale使用std::wcout前通常需要调用std::locale::global(std::locale());来设置全局locale为系统默认这才能让std::wcout正确转换宽字符到控制台编码。但不同平台locale名称不同表示系统默认在Windows中文环境下通常是.936GBK这又回到了编码匹配问题。Clion终端可能不支持Clion的内置终端模拟器对宽字符输出的支持可能不完善。跨平台问题wchar_t在Linux/macOS上通常是32位UTF-32与Windows不兼容损害了代码的可移植性。因此除非你开发的是纯Windows原生GUI应用大量使用wchar_t否则对于控制台程序坚持使用std::cout和UTF-8编码并确保终端也使用UTF-8是更简单、更跨平台的方案。5. 一站式解决清单与常见问题实录这里汇总一个从零开始在Clion中确保C中文输出正常的检查清单和常见问题。检查清单[ ]源文件编码在Clion右下角确认源文件编码为UTF-8。在File - Settings - Editor - File Encodings中设置全局和项目编码为UTF-8。[ ]CMakeLists.txt配置根据你的编译器GNU或MSVC添加对应的编码编译选项-finput-charsetUTF-8 -fexec-charsetUTF-8或/utf-8。[ ]终端编码尝试在Clion的“Terminal”标签页中手动输入chcp 65001然后运行你的程序。如果此时显示正常说明问题在于终端初始编码。你需要按照第3.1节的步骤3配置运行环境变量或修改终端默认设置。[ ]编译器验证使用-DCMAKE_VERBOSE_MAKEFILE:BOOLON验证编译命令是否包含编码选项。[ ]系统终端测试关闭Clion直接打开Windows Terminal或配置好的UTF-8终端切换到项目构建目录通常是cmake-build-debug手动运行生成的.exe文件。如果这里显示正常问题局限在Clion的运行环境配置如果这里也乱码问题在编译选项或源代码本身。常见问题实录Q1我已经按照步骤设置了所有选项但在Clion的“Run”窗口输出还是乱码在“Terminal”窗口却是好的A1Clion的“Run”输出窗口和“Terminal”窗口是两种不同的输出后端。“Run”窗口可能是一个更简单的文本显示控件其编码可能依赖于JVM或IDE本身的设置有时对UTF-8支持不完美。而“Terminal”窗口模拟了一个更真实的系统终端。解决方案优先以“Terminal”窗口的输出为准或者尝试在运行配置中将“Run in terminal”选项勾选上如果可用这会让程序在“Terminal”中运行。你也可以尝试在Help - Edit Custom VM Options...中添加-Dfile.encodingUTF-8来调整Clion JVM的默认编码但这不一定能解决“Run”窗口的问题。Q2我的项目使用了CMake的find_package引入了第三方库如Boost编译后中文乱码怎么办A2第三方库通常以二进制形式提供其头文件一般是ASCII或UTF-8编码通常不会引起乱码。乱码更可能出现在你使用该库的代码中。确保你调用库函数、传递字符串参数时字符串的编码与库函数期望的编码一致。有些库尤其是一些Windows原生库或旧库可能期望窄字符字符串是本地编码如GBK而你的字符串是UTF-8。这时需要在调用前进行转换。可以使用C11的codecvt已弃用但可用或第三方库如iconv进行UTF-8到本地编码的转换。更现代的做法是如果你的项目决定全面使用UTF-8就选择那些明确支持UTF-8的库。Q3在Linux或macOS下的Clion中开发需要担心这个问题吗A3通常不需要。Linux和macOS的系统原生编码环境通常是UTF-8通过locale命令查看LANG或LC_CTYPE环境变量。GCC/Clang编译器在这些系统上默认也使用UTF-8作为源文件和执行字符集。只要你的源文件是UTF-8编码在Clion中运行输出到终端通常也是UTF-8中文显示基本是正常的。这是推荐使用UTF-8和跨平台开发的重要原因之一。Q4除了cout文件读写的中文乱码怎么处理A4原理相通。文件读写乱码的核心是“打开/写入文件的编码”与“读取/解析文件的编码”不一致。使用C标准库fstream打开文件时它默认使用本地编码。如果你用UTF-8字符串写文件而用记事本默认GBK打开就会乱码。解决方案写入端确保你写入的字符串是目标编码如UTF-8。读取端知道文件的编码然后用相同的编码去读取。对于UTF-8文件可以使用std::wifstream配合std::locale来读取或者使用像std::codecvt_utf8C11已弃用这样的facet或者直接以二进制模式打开然后使用第三方库如iconv, ICU进行解码。更现代、更推荐的做法是使用跨平台的文本处理库如fmtlib即将进入C标准或boost.locale它们提供了更好的Unicode支持。最后一点个人心得中文乱码问题本质是“信息表示不一致”。在当今的软件开发中尤其是涉及跨平台、国际化的项目将UTF-8作为唯一的内部文本编码标准是避免绝大多数乱码问题的最根本策略。从源代码、到构建系统、到运行时环境全线UTF-8化。在Windows上这意味着需要主动配置编译器、终端和可能用到的库。虽然初期有一些配置成本但一旦打通你会发现在不同机器、不同系统间迁移和协作的阻力会小很多。Clion作为一个跨平台IDE其默认设置也是偏向UTF-8和现代C实践的顺着这个方向去配置往往能事半功倍。

相关新闻

Claude Opus 5模型升级:语言风格变化对开发者的影响与应对策略

Claude Opus 5模型升级:语言风格变化对开发者的影响与应对策略

最近不少开发者在使用 Claude 模型时发现一个有趣的现象:原本熟悉的 Opus 4.8 模型似乎被 Opus 5 悄然取代,而新版本的语言风格明显变得更加"怪异"。这种变化不仅影响了日常对话体验,更对依赖模型稳定性的开发项目带来了实际挑战。…

2026/10/1 0:14:29 阅读更多 →
十大化妆品包材公司怎么选?车间老炮拆解工艺公差与防比价模型

十大化妆品包材公司怎么选?车间老炮拆解工艺公差与防比价模型

拿着一张电商爆款的包装图找代工厂,聊完价格直接砍掉四分之一,结果到手实物比样品薄了0.1mm,磁吸盖松得像喝多了的二锅头盖子——这剧本我见太多了。昨天一个做私域护肤的兄弟拿着返修单跟我骂娘:退货率16%,其中九成是…

2026/10/2 4:40:02 阅读更多 →
SpringBoot图形化编程竞赛平台设计与实践

SpringBoot图形化编程竞赛平台设计与实践

1. 项目背景与核心价值小学阶段图形化编程教育近年来在国内快速普及,Scratch、Blockly等工具已成为培养儿童计算思维的主流选择。这个基于SpringBoot的竞赛辅导平台正是针对这一教育场景的垂直化解决方案。我在实际开发中发现,传统编程竞赛网站往往存在两…

2026/9/29 17:37:18 阅读更多 →

最新新闻

插件加载失败如何排查?从插件机制、生命周期到通用方法

插件加载失败如何排查?从插件机制、生命周期到通用方法

这几年我不管是在 IDE 里折腾扩展功能、给播放器挂个音源,还是在服务器上追测试 harness 的启动日志,最后都会回到同一个词:plugins。你可能也遇到过一长串英文报错,比如failed to load plugins web boot: 2 entries did not acti…

2026/10/4 10:32:12 阅读更多 →
TFLite Micro 资源变量(Resource Variables)指南:VAR_HANDLE / ASSIGN_VARIABLE / READ_VARIABLE 算子与跨子图状态管理的完整实践

TFLite Micro 资源变量(Resource Variables)指南:VAR_HANDLE / ASSIGN_VARIABLE / READ_VARIABLE 算子与跨子图状态管理的完整实践

人工智能深度学习推理引擎本地部署嵌入式物联网 【免费下载链接】tflite-micro Infrastructure to enable deployment of ML models to low-power resource-constrained embedded targets (including microcontrollers and digital signal processors). 项目地址: h…

2026/10/4 10:32:12 阅读更多 →
MR25H40CDF+MK64FX512VDC12工业级实时数据缓存架构

MR25H40CDF+MK64FX512VDC12工业级实时数据缓存架构

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 MK64FX512VDC12 做数据存储?我在产线调试边缘数据采集模块时,反复被一个问题卡住:PLC周期性上报的传感器采样值(温度、振动、电流谐波),必须…

2026/10/4 10:32:12 阅读更多 →
AI硬件设计辅助系统:PrintWindow抓屏实现与Electron实践

AI硬件设计辅助系统:PrintWindow抓屏实现与Electron实践

1. 从“看不见”到“看得见”:AI 硬件设计辅助系统的关键一步做过硬件设计的朋友都知道,画原理图、摆器件、连网络、查封装,这些活儿琐碎且耗时。尤其是当你面对一块已经画好的板子,想快速理清某个模块的走线逻辑,或者…

2026/10/4 10:32:12 阅读更多 →
用MRAM替代Flash/EEPROM:TM4C1294 SPI驱动实践

用MRAM替代Flash/EEPROM:TM4C1294 SPI驱动实践

前阵子帮客户排查一台伺服驱动器,故障现象非常典型:设备上电后偶尔恢复出厂参数,跑了一年的运行次数莫名其妙清零。查来查去,最后问题落在EEPROM上——一天频繁写几百次运行数据,寿命先到顶了。我手边正好有Everspin的…

2026/10/4 10:32:12 阅读更多 →
AI编程插件本质:可验证服务节点与SDK契约体系

AI编程插件本质:可验证服务节点与SDK契约体系

1. “plugins”不是功能模块,而是现代AI编程工具的神经突触你点开Cursor、Codex或Zcode这类AI编程工具的设置页,看到“Plugins”那一栏时,第一反应可能是——这不就是VS Code里装个Prettier、ESLint那种插件?点几下安装完事。但实…

2026/10/4 10:31:11 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →