GCC 9.5.0源码编译避坑指南:从依赖准备到安装验证
简介GCC 9.5.0 源码压缩包提供了 GNU 编译器集合中 9.5.0 稳定版的完整源代码适合希望深入编译原理、定制编译流程的 C/C 开发者与系统维护者。该版本对应 9 系列后期维护版本兼顾成熟稳定与新特性支持。包内顶层目录为 gcc-9.5.0平台统计文件总数为 0压缩包体积约 122.2MB原始源码通常包含编译器前后端、运行时库和 configure 等构建脚本解压后可在 Unix-like 系统上按配置、编译、安装三阶段自行构建。已有 170 人学习下载。阅读这份源码有助于理解 gcc 与 g 在 C/C 语言前端上的联系与区别掌握编译器内部结构和优化思路还可根据业务需求定制编译选项参与 GCC 后续开发是学习 GNU 开源软件与编译技术演进的重要素材。1. 拿到 gcc-9.5.0.tar.gz 之后源码编译不只是解压、configure、make 三步很多人在 Linux 下第一次自己编 GCC是看了网上教程说“下载源码包三步搞定”结果卡在依赖缺失、编译到一半 OOM、装完发现 gcc 命令还是旧版本。这个 gcc-9.5.0.tar.gz 是 GCC 9 系列最后一个维护版本适合想要稳定工具链、又不想直接换 GCC 10/11 默认行为的场景。它值得下载的理由很实际9.5.0 修复了 9.1 到 9.4 的数十个后端 bug 和 C 标准库问题对老项目兼容性好而且它是源码包你可以自己控制编译选项、安装路径甚至裁剪不需要的语言前端。但源码包只是起点真正花时间的是后面的依赖处理、configure 参数调优和漫长的 make 阶段——这篇文章就是把这套流程完整拆开把参数含义、常见报错和你大概率会踩的坑一次说清楚。适合的目标人群很明确要在离线环境装 GCC 的运维、想升级系统自带编译器但不想动系统包的开发者以及想读编译器源码的学生。2. 为什么是 GCC 9.5.0版本号背后的维护策略和现实选型2.1 GCC 9 系列的生命周期为什么 9.5.0 比 9.1.0 更值得用GCC 的主版本号每一年左右更新一次但每个主版本发布后会进入长时间的 bugfix 维护期。9.1.0 是功能版本9.2.0 开始就只修 bug、不引入新特性。9.5.0 是 GCC 9 分支的最后一个 release意味着这个分支积累的所有已知问题基本都处理完了。从实际编译行为看9.5.0 对比 9.1.0 在 C17 的filesystem实现、OpenMP 的 offload 目标支持、以及 aarch64 后端代码生成质量上都有明显修补。对生产环境来说选 9.5.0 而不是 9.1.0 的理由很直接编译器这种基础设施稳定性比新特性重要得多。比如在 x86-64 上9.1.0 的-O2在某些循环展开场景会生成错误的 SSSE3 指令序列这个 bug 在 9.3.0 才修复。如果你用 9.1.0 编译一个跑了几年的服务程序很可能遇到“换编译器后程序行为变了”的玄学问题查到最后是编译器后端代码生成 bug。9.5.0 作为收尾版本这类问题最少。另外要注意GCC 9 的 C 编译器默认支持 C14需要用-stdc17或-stdc2a显式开启新标准。这是很多人从 GCC 7/8 升上来后的第一个不适应点后面避坑章节会专门展开。2.2 gcc 和 g 的关系不是两个独立编译器源码包里没有单独区分gcc和g它们共用同一个后端和大部分中间表示层。gcc是驱动程序根据输入文件后缀决定调用 C 编译器还是 C 编译器g是专门面向 C 的驱动它会自动链接 libstdc并且对.cc、.cpp、.cxx后缀的文件直接用 C 前端处理。用gcc编译 C 文件不是不行但有两个坑第一gcc默认不链接 libstdc你写gcc main.cpp -o app会在链接阶段报一堆 undefined reference第二gcc对 C 异常处理和 RTTI 的初始化行为和g有细微差别。所以习惯上 C 代码用gccC 代码用g源码包里两个都是同一个make install装出来的只是符号链接和 driver 行为不同。# 查看编译出的驱动程序 ls -l /usr/local/bin/gcc* /usr/local/bin/g*我之前见过有人用gcc编译 C 文件然后怪 GCC 不好用其实只是驱动选错了。编译阶段两者调用的 cc1/cc1plus 前端是同一个但链接库和默认参数不同。2.3 GCC 9.5.0 的已知边界哪些新特性它没有选 9.5.0 也要知道它不包含什么。它没有 GCC 10 的-fanalyzer静态分析器没有 GCC 11 的-Winvalid-pch增强C20 支持也只是实验性的-stdc2a级别。如果你的项目必须用 C20 的 coroutine 或 concepts9.5.0 不是合适选择。但反过来如果你的代码是 C11/14 写的系统库是老版本 glibc9.5.0 的兼容性反而比新版 GCC 好。一个小对比表帮你快速定位场景GCC 9.5.0GCC 11C14 老代码编译兼容性最好可能出现新警告C20 完整特性不支持基本支持静态分析无 -fanalyzer内置交叉编译 aarch64成熟更成熟编译时长约 90 分钟约 120 分钟3. 编译 GCC 9.5.0 的完整流程依赖处理、configure 参数与安装验证3.1 编译前的依赖准备三个必须存在的库GCC 9.5.0 源码本身不包含 GMP、MPFR、MPC 这三个数学库但 configure 阶段必须要它们来计算整型宽度、浮点常量折叠和复数运算。系统自带的版本可能过旧或缺失Ubuntu 18.04 就是典型例子它的 libgmp-dev 是 6.1.2 版本在 GCC 9 的 configure 检查中会直接报错。# Ubuntu / Debian 系 sudo apt-get install -y build-essential libgmp-dev libmpfr-dev libmpc-dev # CentOS / RHEL 7 及以下需要先启用 EPEL sudo yum install -y gcc gcc-c make gmp-devel mpfr-devel libmpc-devel提示如果你在离线环境这三个库的源码包也要提前准备好GCC 支持用--with-gmp、--with-mpfr、--with-mpc参数指定它们的源码或安装路径。判断依赖是否满足最快的办法是先跑一次 configure它会一次性列出所有缺失项。我习惯在正式配置前先跑一个./configure --help看看当前环境有哪些库被自动检测到了避免后面反复报错。3.2 configure 参数选型不要照抄网上的默认值GCC 的 configure 参数直接决定编译产物和安装位置。最常被忽略的是--enable-languages和--disable-bootstrap。前者控制编译哪些语言前端默认会把你不需要的 Ada、Go 也编进去白白增加 20 分钟编译时间后者控制是否用三次编译来验证编译器自身——第一次用系统旧 GCC 编译出新 GCC第二次用新 GCC 重新编译自己第三次再编译一次做对比。bootstrap 能发现编译器自身的代码生成问题但耗时翻倍。tar -xzf gcc-9.5.0.tar.gz cd gcc-9.5.0 mkdir -p /opt/gcc-9.5.0 ../gcc-9.5.0/configure \ --prefix/opt/gcc-9.5.0 \ --enable-languagesc,c \ --disable-multilib \ --disable-bootstrap \ --enable-checkingrelease这段配置的核心逻辑是--prefix指定安装路径我放在/opt/gcc-9.5.0而不是默认的/usr/local这样卸载时直接删目录就行不会污染系统自带的编译器--enable-languagesc,c只保留 C 和 C 前端--disable-multilib告诉 GCC 不需要同时生成 32 位和 64 位库——除非你要编译 32 位程序否则开启 multilib 只会让编译更慢--disable-bootstrap把三次自举编译降到一次适合非 GCC 开发人员能省一半时间--enable-checkingrelease是官方推荐的生产环境选项只保留必要断言。3.3 make 阶段并行度与磁盘空间的平衡configure 通过之后进入 make这是整个流程最磨人的阶段。GCC 的源码编译非常吃 CPU 和内存make -j$(nproc)在日常开发中是好习惯但在编 GCC 时可能直接撑爆内存。make -j4注意如果机器内存小于 8GB建议用-j2甚至-j1。GCC 编译时每个并行任务大约占 1.5GB 内存-j4就是 6GB 保底加上系统其他进程很容易触发 OOM。编译时间参考4 核 8GB 的虚拟机只编译 C 和 C大约需要 90 到 120 分钟。如果你是在笔记本上临时编译记得插电并把散热垫架起来CPU 会持续满载。编译完成后不要急着安装先确认二进制文件存在# 检查编译产物 find . -name gcc -type f -executable | head -5 ./gcc/xgcc -v这里的xgcc是编译过程中生成的临时编译器它已经能编译代码了但还不能作为系统编译器使用因为路径和库都没装到最终位置。3.4 安装与 PATH 配置让新编译器真正生效make 完成后执行安装这是比较快的阶段通常几分钟内完成。安装后最关键的一步是配置 PATH否则你输入gcc调用的还是系统旧版本。make install echo export PATH/opt/gcc-9.5.0/bin:$PATH ~/.bashrc echo export LD_LIBRARY_PATH/opt/gcc-9.5.0/lib64:$LD_LIBRARY_PATH ~/.bashrc source ~/.bashrc # 验证版本 gcc --version g --version which gccLD_LIBRARY_PATH很多人会漏掉。GCC 9.5.0 编译出的 C 程序依赖新版 libstdc.so.6如果没有把/opt/gcc-9.5.0/lib64加入动态库搜索路径运行时会出现version CXXABI_1.3.11 not found的报错。which gcc确认输出路径是/opt/gcc-9.5.0/bin/gcc而不是/usr/bin/gcc这一步骗不了人。4. 让新 GCC 在项目里真正生效从环境变量到编译参数的全链路4.1 系统头文件与库文件的优先级问题装了新 GCC 不代表你的#include iostream用的就是新版本的头文件。GCC 在预处理阶段会优先搜索自身安装目录下的 include但这个搜索路径是在 configure 时根据--prefix硬编码的。如果你用/opt/gcc-9.5.0/bin/g而不是 PATH 里的默认编译器就不会有问题。但很多人的习惯是g main.cpp这样裸调此时 PATH 里谁在前面就用的谁。# 查看 GCC 实际搜索的头文件路径 echo #include cstdio test.cpp /opt/gcc-9.5.0/bin/g -E -v test.cpp 21 | grep search starts here -A 5 # 查看链接时的库搜索路径 /opt/gcc-9.5.0/bin/g -print-search-dirs如果发现头文件路径里没有/opt/gcc-9.5.0/include/c/9.5.0说明你的 g 调用的是系统旧的。这就引出另一个问题新版 GCC 自带 libstdc而系统里可能有新旧两套 C 标准库链接时到底用哪套取决于-L参数和 LIBRARY_PATH 环境变量。我在项目里一般不用LD_LIBRARY_PATH全局设置而是把新 GCC 目录写进 Makefile 的CXX变量这样项目级生效不污染系统环境。4.2 动态库链接的坑libstdc.so.6 的版本冲突GCC 9.5.0 编译出的动态库默认 SONAME 是libstdc.so.6和 GCC 5 以来的所有版本一致。这意味着系统里可能同时存在多个libstdc.so.6用错一个就会在运行时抛异常。# 查看可执行文件依赖的 libstdc 版本 strings /opt/gcc-9.5.0/lib64/libstdc.so.6 | grep GLIBCXX | tail -5 objdump -p /opt/gcc-9.5.0/lib64/libstdc.so.6 | grep SONAMEGLIBCXX_3.4.28是 GCC 9 加入的版本标记如果运行时提示缺少这个符号说明程序找到的是旧版 libstdc。一个稳妥做法是编译时加-Wl,-rpath,/opt/gcc-9.5.0/lib64把搜索路径写死在二进制里这比设置LD_LIBRARY_PATH更可控。4.3 与 VSCode 等 IDE 的集成一键编译的关键配置这里要把 VSCode 也带一下虽然 GCC 是命令行工具但不少人是在 VSCode 里写 C配不好 tasks.json 就出现“找不到 g”或“版本不对”的困惑。核心是让 IDE 的编译器路径和终端里的 PATH 保持一致。{ version: 2.0.0, tasks: [ { label: g build, type: cppbuild, command: /opt/gcc-9.5.0/bin/g, args: [ -stdc17, -g, ${file}, -o, ${fileDirname}/${fileBasenameNoExtension}.out ], options: { cwd: ${fileDirname} }, problemMatcher: [$gcc] } ] }这段配置的关键是command写绝对路径/opt/gcc-9.5.0/bin/g而不是只写g。因为 VSCode 的终端环境变量不一定继承你在~/.bashrc里设置的 PATH特别是从图形界面启动 VSCode 时。args里的-stdc17对应 GCC 9 的默认标准之上的显式声明problemMatcher用$gcc告诉 VSCode 如何解析编译错误输出。4.4 编译参数从-O2到-marchnative的实践建议安装好 GCC 9.5.0 后基本的编译参数习惯也要跟着调整。比如-marchnative在新编译器上的代码生成效果比老编译器更好因为 9.5.0 对 AVX-512 和 FMA 的处理更成熟。但要注意-marchnative编译出的二进制只在当前 CPU 上能跑换机器就要重新编译。# 适合当前机器的优化编译 /opt/gcc-9.5.0/bin/g -O2 -marchnative -stdc17 main.cpp -o app5. GCC 9.5.0 源码编译避坑指南现象、原因、解决5.1 configure 报错error: GMP 4.3.2 or newer is required——系统库版本太旧现象执行 configure 时提示 GMP 版本不满足或干脆找不到 GMP。原因GCC 9.5.0 的 configure 脚本用gmp.h的版本宏判断普通发行版的 libgmp-dev 可能版本不够比如 CentOS 7 自带的是 GMP 6.0.0a理论上满足 GCC 9 的要求但如果你用的是精简版容器镜像可能连gmp.h都没有。解决优先用系统包管理器安装离线环境则单独下载 GMP/MPFR/MPC 源码编译安装到独立目录然后用--with-gmp等参数指定位置。我最常用的做法是把三个库都装到/usr/local/lib然后 configure 加--with-gmp/usr/local --with-mpfr/usr/local --with-mpc/usr/local。5.2 make 过程中 OOM 被杀——并行度超过物理内存上限现象编译进行到一半终端弹出Killeddmesg里能看到Out of memory。原因GCC 编译过程单个任务峰值内存约 1.5GB-j$(nproc)在 8 核机器上就是 12GB 峰值内存4GB 内存的机器根本扛不住。很多人习惯性用make -j$(nproc)在这里翻车最多。解决先用free -h看物理内存保守设置并行度。8GB 内存用-j216GB 用-j4。另外可以在 make 前先执行ulimit -v unlimited排除 shell 资源限制的干扰。5.3 安装后gcc --version还是旧版——PATH 没生效或链接未更新现象which gcc指向/usr/bin/gcc版本是系统自带的 7.x 或 4.8。原因~/.bashrc里的export PATH...写在了系统 PATH 之后或者 terminal 不是登录 shell 不加载.bashrc再或者系统里/usr/bin/gcc是个符号链接被别的 profile 脚本覆盖了 PATH。解决确认/opt/gcc-9.5.0/bin在 PATH 中最前面echo $PATH看一眼顺序。如果还不行直接用绝对路径/opt/gcc-9.5.0/bin/gcc --version验证安装本身有没有问题。对于项目构建最省心的做法是把编译器路径写进 CMakeLists 或 Makefile不依赖 shell 环境。5.4 运行时version CXXABI_1.3.11 not found——动态库链接地址错误现象编译成功运行二进制时提示找不到 CXXABI 或 GLIBCXX 的特定版本符号。原因程序运行时加载的libstdc.so.6是系统旧库不是新版 GCC 自带的。系统库版本低于编译时的库版本运行时符号解析失败。解决编译时加-Wl,-rpath,/opt/gcc-9.5.0/lib64或设置LD_LIBRARY_PATH。推荐-rpath因为这个设置写死在二进制里不会影响其他程序。5.5 编译 C17 代码时std::filesystem报链接错误——GCC 9 需要显式链接现象包含filesystem后std::filesystem::exists等函数在链接阶段报 undefined reference。原因GCC 9.0 到 9.2 的 libstdc 中 filesystem 相关符号在单独的库中需要-lstdcfs链接参数。这个不是 bug是 ABI 分割策略。9.3 之后才默认包含在主库中。解决编译时加-lstdcfs/opt/gcc-9.5.0/bin/g -stdc17 main.cpp -lstdcfs -o app如果你的代码只用了std::filesystem::path的字符串操作没做文件系统访问不链接也可能过。但保险起见只要 include 了filesystem就加上这个参数省得后续踩坑。6. 从源码到生产工具链验证、封装与增量管理编译器装好只是第一步怎么确认它真能稳定产出、怎么管理多个 GCC 版本才是后面的事。我一般会先做三件事验证编译器可用性。第一编译一个带完整特性的测试程序覆盖 C17 的 filesystem、optional、variant 和一个简单的模板元编程确认前端和标准库工作正常cat /tmp/gcc_test.cpp EOF #include filesystem #include iostream #include variant namespace fs std::filesystem; int main() { std::variantint, std::string v gcc-9.5.0-test; std::cout fs temp path: fs::temp_directory_path() std::endl; std::cout variant: std::getstd::string(v) std::endl; return 0; } EOF /opt/gcc-9.5.0/bin/g -stdc17 /tmp/gcc_test.cpp -o /tmp/gcc_test /tmp/gcc_test第二用-ftime-report参数编译一个真实项目观察 GCC 在不同编译阶段的时间分布。这一步能直观看出编译器在解析、优化、代码生成上的开销比如 C 模板实例化是不是占了太多时间从而决定要不要换更轻量的实现。GCC 9.5.0 在优化阶段对复杂控制流的处理比之前版本更稳如果某个函数编译时间异常长大概率是该函数逻辑过于复杂可以考虑拆分。第三做一次源码级别的二次构建验证。把刚编译出的 GCC 用来重新编译一遍 GCC 9.5.0 的 C 语言前端确保产物一致。这个验证我通常只在关键生产环境做平时靠make install后的gcc --version和基础测试就够。因为完整二次构建时间太长了不值得每次做。版本管理方面我会把/opt/gcc-9.5.0整个目录打成 tar 包存档这样换机器时不需要重新编译。打包含动态库和所有 include 文件大概 2GB 左右。恢复时解压到相同路径再同步配置 PATH 就行。从那以后我每次给新机器装 GCC 都强制走一遍这个流程特别是先查物理内存再定并行度编译前先确认依赖库版本装完顺手跑那个五点测试程序——这三件事看起来零碎但能把很多隐藏问题在五分钟内暴露出来希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Inno Setup扁平化安装包实战:资源替换+INI驱动的轻量定制方案

Inno Setup扁平化安装包实战:资源替换+INI驱动的轻量定制方案

1. 项目概述:为什么一个安装包的“颜值”值得你花两小时重做Inno Setup不是什么新东西,它在Windows桌面软件分发领域稳坐头把交椅超过二十年。但直到今天,我仍能在某高校实验室、某中小软件公司交付的安装包里,看到默认的Win95风格…

2026/10/13 13:39:19 阅读更多 →
质量工程师职业转型路径与核心能力迁移指南

质量工程师职业转型路径与核心能力迁移指南

1. 质量工程师的职业转型背景分析在制造业摸爬滚打五年的质量工程师们,常常会面临职业发展的十字路口。每天处理着SPC控制图、8D报告和ISO文件,不知不觉中已经积累了丰富的体系管理经验和问题解决能力。但当我们开始思考"未来五年还能做什么"时…

2026/10/13 13:38:19 阅读更多 →
中国台风shp数据处理解析:坐标系转换与路径可视化

中国台风shp数据处理解析:坐标系转换与路径可视化

简介:这份1950-2018年中国沿海台风历史数据集以Shapefile矢量格式封装,包含点、线两个图层,面向气象科研人员、GIS分析者及灾害风险管理从业者,用于系统回溯台风活动轨迹与空间分布规律。压缩包共10个文件,由shp几何数…

2026/10/13 13:38:19 阅读更多 →

最新新闻

基于模型的测试(MBT)实战:状态机建模与用例自动生成

基于模型的测试(MBT)实战:状态机建模与用例自动生成

1. 为什么我会推荐把MBT放进测试技术栈1.1 传统用例设计的三道坎做测试这行时间长了,你会慢慢发现一个有意思的现象:真正让人头疼的不是测试执行,而是测试设计。需求评审完了,开发方案定了,接下来就是用例设计。但用例…

2026/10/13 15:09:41 阅读更多 →
从数据抓取到统计回测:足球数据下载搜索统计系统设计

从数据抓取到统计回测:足球数据下载搜索统计系统设计

简介:这套面向足球爱好者和彩票玩家的数据处理套件,围绕赔率、盘口、竞彩数据,提供下载、检索与统计能力,适合跟踪赛事动态、辅助投注决策的用户。压缩包共18个文件、约1.53MB,exe主程序承担下载与查询核心工作&#x…

2026/10/13 15:09:41 阅读更多 →
PaperSpine 本地参考文献摄入(Local Reference Ingestion)实战指南:local-first 文献索引机制与源码级解析

PaperSpine 本地参考文献摄入(Local Reference Ingestion)实战指南:local-first 文献索引机制与源码级解析

AI 技能AI 写作人工智能深度研究AI 应用 【免费下载链接】PaperSpine PaperSpine5 — local-first, evidence-bound paper research, writing, figures, review and delivery. Download: https://wubing2023.github.io/PaperSpine/v5/ 项目地址: https://gitcode.co…

2026/10/13 15:09:41 阅读更多 →
AI如何“看懂“屏幕?typesafe-computer-use五步决策循环完全解析

AI如何“看懂“屏幕?typesafe-computer-use五步决策循环完全解析

【免费下载链接】typesafe-computer-use Computer use for about $0.0002 a step: OCR the screen, classify the next action with TypeSafe, click. macOS. 项目地址: https://gitcode.com/gh_mirrors/ty/typesafe-computer-use 点击查看 免费下载 typesafe-comp…

2026/10/13 15:09:41 阅读更多 →
Rune主题与外观定制:从主题包到壁纸的5个快速美化技巧

Rune主题与外观定制:从主题包到壁纸的5个快速美化技巧

【免费下载链接】rune the development environment for pros 项目地址: https://gitcode.com/gh_mirrors/rune13/rune 点击查看 免费下载 Rune 是一款面向专业开发者的键盘驱动 IDE,它的主题与外观定制能力远超想象:内置 16 个高质量主题、…

2026/10/13 15:09:41 阅读更多 →
掌握新一代AI工具:从提示词设计到工作流搭建的硬技能

掌握新一代AI工具:从提示词设计到工作流搭建的硬技能

1. 为什么“会用AI工具”正在变成一项硬技能 这两年我身边做开发的朋友、做设计的朋友、甚至做运营和行政的朋友,都在聊同一件事:AI工具怎么用才能真正落到工作里。不是那种“打开网页问一句、复制答案”的浅层玩法,而是把它当成一个能持续产…

2026/10/13 15:08:40 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →