Intel Visual Fortran 安装配置与编译调试避坑指南
简介这份文档面向Fortran编程学习者与科研开发者系统讲解Intel Visual FortranIVF的安装与使用帮助解决CVF在Win7/8及64位系统上兼容性差、旧编译器不支持面向对象等新特性的问题。资源包共1个doc文件约22KB内容涵盖IVF与CVF的渊源对比、为何选择IVF、安装前需先装Microsoft Visual Studio的顺序要求、许可证文件激活流程以及PGI Visual Fortran编译器的简要介绍并附有下载链接与图文安装教程参考。目前已有290人学习。读者可借此理清IVF的安装思路与常见坑点理解XP系统宜用CVF、Win7/8宜用IVF的选型建议掌握从环境准备到激活使用的完整脉络为后续编写Fortran程序、适应现代编译器新特性打下基础。1. 装完 Intel Visual Fortran 却跑不起来问题多半不在编译器很多人第一次接触 Intel Visual Fortran都是被一个老项目或者一门数值计算课推着走的。装完 Visual Studio再装 Fortran 编译器打开工程一编译报错信息能刷满整个输出窗口。这时候大部分人的第一反应是“编译器装坏了”于是卸载重装来回折腾一整天问题依旧。实际上Intel Visual Fortran 的安装和使用难点从来不在编译器本身而在于它和 Visual Studio 的集成关系、环境变量的加载顺序以及工程属性里那一堆默认值。这篇文章面向的是需要在 Windows 上编译和调试 Fortran 代码的工程师和学生尤其是那些手里有现成工程、需要快速跑通而不是从零研究工具链的人。我会把安装、集成、编译、调试、排错这条链路拆开讲每一步都给出可复现的操作和参数说明让你少走我当年走过的弯路。2. 安装前的环境准备版本匹配比安装顺序更重要Intel Visual Fortran 并不是一个独立运行的编译器它需要寄生在 Visual Studio 的 IDE 里通过插件的形式提供 Fortran 的编译和调试能力。这就意味着你装的 Visual Studio 版本、Fortran 编译器版本、甚至 Windows SDK 版本三者之间必须匹配。我见过太多人拿着最新的 Visual Studio 2022 去配一个只支持 VS2015 的旧版 Fortran 编译器结果装完连工程模板都找不到。所以这一章先把版本匹配的逻辑讲清楚再给出具体的安装步骤。2.1 版本匹配的底层逻辑为什么不能随便混搭Intel Visual Fortran 的安装程序在运行时会做两件事一是把编译器、链接器、库文件释放到指定目录二是往 Visual Studio 的安装目录里写插件注册信息。这个注册信息是强版本绑定的不同大版本的 Visual Studio其插件接口和工程系统结构差异很大。比如 VS2015 用的是 MSBuild 14.0VS2017 之后改成了新的项目系统旧版 Fortran 插件根本识别不了。所以你在选型时第一原则是Fortran 编译器支持的 VS 版本列表里选你机器上已经装好的那个或者反过来根据你拿到的 Fortran 编译器版本去装对应版本的 VS。常见做法是如果你手头没有历史包袱直接用较新的组合比如 Intel oneAPI 里的 Fortran 编译器搭配 Visual Studio 2019 或 2022。但如果你维护的是十年前的老工程那就要去找对应的旧版编译器比如 Intel Parallel Studio XE 2015 搭配 VS2013。这里没有“越新越好”的说法只有“能对上就行”。提示安装前先确认你的 Visual Studio 是否安装了“使用 C 的桌面开发”工作负载。Fortran 编译器依赖其中的 MSBuild 和 Windows SDK 组件缺了会导致集成失败。2.2 安装顺序与关键选项一步错步步错确定了版本组合之后安装顺序也有讲究。正确的顺序是先装 Visual Studio并且确保它已经完成初始化至少启动一次完成环境配置再装 Intel Visual Fortran 编译器。如果顺序反了Fortran 安装程序找不到 VS 的注册表项就不会写入插件信息装完等于白装。具体操作步骤如下。第一步安装 Visual Studio在安装器里勾选“使用 C 的桌面开发”右侧的安装详细信息里确保“MSBuild”和“Windows 10 SDK”或“Windows 11 SDK”被选中。第二步运行 Intel Visual Fortran 的安装程序在组件选择界面注意勾选“Visual Studio Integration”这一项不同版本叫法可能略有差异但关键词是 Integration。第三步安装完成后不要急着打开 VS先重启一次系统让环境变量生效。# 安装完成后可以用命令行验证编译器是否可用 # 打开“Intel oneAPI command prompt”或“Intel 64 Visual Studio environment” # 输入以下命令查看编译器版本 ifort --version # 如果输出类似 Intel(R) Fortran Intel(R) 64 Compiler Classic ... # 说明编译器本身安装成功这段命令的作用是绕过 Visual Studio直接验证编译器二进制是否在 PATH 里。如果这一步就报“找不到命令”那说明环境变量没配好问题出在安装环节而不是 VS 集成。参数上没什么可调的--version是标准选项输出里重点看版本号和构建日期后面排查兼容性问题时会用到。2.3 验证集成是否成功两个必须检查的地方装完之后打开 Visual Studio新建项目在项目模板列表里搜索“Fortran”。如果能看到“Intel(R) Fortran Console Application”之类的模板说明集成基本成功。如果搜不到先别急着重装去“工具”菜单下的“扩展和更新”里看看有没有 Intel 相关的插件被禁用。另一个检查点是“工具”-“选项”-“Intel Compilers and Libraries”这里应该能看到已安装的编译器版本和对应的库路径。这两个地方都正常才算集成完毕。3. 从新建工程到编译通过工程属性里那几个必调项集成成功只是第一步真正让人翻车的是工程属性配置。Visual Studio 的 Fortran 工程属性页有几十个选项大部分保持默认即可但有几个关键项如果设错编译能过但链接报错或者运行时直接崩溃。这一章把新建工程、配置属性、编译链接这条链路讲透每个参数都说明白为什么调、调成什么。3.1 新建控制台工程模板选择与目录结构在 Visual Studio 里新建 Fortran 工程一般选“Intel(R) Fortran Console Application”然后指定工程名和存放路径。这里有个细节工程路径里不要有中文和空格。Fortran 编译器对路径中的非 ASCII 字符处理得并不好尤其是旧版本遇到中文路径会在预处理阶段报奇怪的错误。我一般会在 D 盘根目录下建一个纯英文的 work 文件夹所有 Fortran 工程都放在里面。工程建好后VS 会自动生成一个源文件通常叫Source1.f90或类似名字。你可以直接在里面写代码也可以把已有的.f90文件添加进来。添加已有文件时注意文件扩展名要正确.f90是自由格式.f或.for是固定格式。如果扩展名和实际代码格式不匹配编译器会按错误的规则解析报一堆语法错误。3.2 工程属性必调项运行时库、优化级别、浮点模型右键工程 - 属性打开属性页。左侧的树形结构里重点看“Fortran”和“Linker”两大块。下面这几个参数是我每次新建工程都会检查的。第一个是“Fortran”-“Libraries”-“Runtime Library”。这个选项决定链接哪个版本的运行时库。默认可能是“Multithreaded DLL”或“Multithreaded”。如果你的工程要发布给没装 Fortran 运行时的机器选“Multithreaded”静态链接这样可执行文件会大一些但不依赖外部 DLL。如果只是本机调试选 DLL 版本编译更快。第二个是“Fortran”-“Optimization”-“Optimization”。调试阶段建议设为“Disable (/Od)”这样变量不会被优化掉断点调试时能看到真实值。发布时再改成“Maximize Speed (/O2)”或“Full Optimization (/Ox)”。我见过有人在调试阶段开了 /O2结果某个局部变量被优化没了断点打上去显示不了值白白浪费半天时间。第三个是“Fortran”-“Floating Point”-“Floating Point Model”。这个选项控制浮点运算的精度和一致性。默认是“Fast”允许编译器做一些可能损失精度的优化。如果你的数值计算对精度敏感比如涉及大量累加或迭代改成“Precise (/fp:precise)”。代价是性能会降一些但结果更可预测。! 一个简单的测试程序用来验证编译和运行是否正常 program test_install implicit none integer :: i real(8) :: sum_val sum_val 0.0d0 do i 1, 1000000 sum_val sum_val 1.0d0 / dble(i * i) end do write(*, (A, F15.10)) Sum , sum_val end program test_install这段代码的作用是做一个简单的级数求和输出结果用来验证浮点运算是否正常。real(8)声明双精度浮点dble是双精度转换函数。如果编译运行后输出的 Sum 值接近 1.6449π²/6 的近似值说明编译器和运行时都正常。如果输出是 0 或者乱码那就要回头检查运行时库和浮点模型设置。3.3 编译与链接看懂输出窗口的错误信息按 F7 或点“生成”-“生成解决方案”VS 会调用 ifort 编译源文件再调用 link 链接成 exe。输出窗口会显示编译和链接的详细过程。如果编译报错错误信息里会带行号和错误码比如error #5082: Syntax error。这时候双击错误行VS 会跳到对应代码位置。如果链接报错常见的是unresolved external symbol意思是某个函数或变量只声明了没定义或者库没链接上。链接错误排查有个技巧看符号名。Fortran 的符号名在链接时会经过名字修饰name mangling比如子程序foo可能变成FOO或foo_。如果报错的符号名和你代码里的名字对不上那可能是调用约定不一致。检查“Fortran”-“External Procedures”-“Name Case Interpretation”和“Argument Passing Convention”这两个选项确保调用方和被调用方一致。4. 调试与运行时排错那些编译能过但跑不对的情况编译链接都过了程序一运行就崩或者结果不对这类问题比编译错误更难查。因为编译器不会告诉你哪里逻辑错了只能靠调试器和运行时检查。这一章讲几个常见的运行时问题场景以及对应的排查手段。4.1 数组越界与内存错误开启运行时检查Fortran 的数组下标默认从 1 开始但如果你声明的是real :: a(10)访问a(11)就是越界。编译器默认不检查数组边界越界写会破坏相邻内存导致程序在莫名其妙的地方崩溃。排查这类问题的标准做法是开启运行时检查在工程属性里“Fortran”-“Run-time”-“Check Array and String Bounds”设为“Yes (/check:bounds)”。这样每次数组访问都会做边界判断越界时直接报错并给出行号。开启边界检查后程序运行会变慢所以只在调试阶段开。发布时记得关掉。另外“Fortran”-“Run-time”-“Check Uninitialized Variables”也建议在调试时设为“Yes”能帮你发现使用了未初始化变量的情况。4.2 断点调试查看变量与调用栈在 VS 里调试 Fortran和调试 C 类似。在代码行左侧点一下设置断点按 F5 启动调试。程序停在断点处时可以把鼠标悬停在变量上看当前值也可以在“监视”窗口里手动输入变量名。Fortran 的派生类型类似 C 的结构体在监视窗口里可以展开看成员。如果程序崩溃但没有断点可以看“调用堆栈”窗口。堆栈会显示崩溃时正在执行的函数调用链。如果是库函数里崩溃堆栈里会显示库函数名这时候要检查传给库函数的参数是否合法。比如调用MATMUL做矩阵乘法如果两个矩阵维度不匹配就会在库函数里崩溃堆栈里能看到MATMUL相关符号。4.3 与 C/C 混合编程的链接问题很多工程是 Fortran 和 C/C 混合的Fortran 负责数值计算C 负责界面或 IO。混合编程时链接错误和运行时崩溃都很常见。关键点是名字修饰和调用约定。Fortran 的子程序如果要在 C 里调用需要用bind(C)属性并指定name参数。例如subroutine add_numbers(a, b, c) bind(C, nameadd_numbers) use iso_c_binding real(c_double), intent(in) :: a, b real(c_double), intent(out) :: c c a b end subroutine add_numbers这段代码定义了一个可以被 C 调用的子程序。bind(C, nameadd_numbers)告诉编译器用 C 的命名规则不进行 Fortran 特有的名字修饰。iso_c_binding模块提供了和 C 类型对应的种类参数c_double对应 C 的double。如果没有这个绑定C 那边链接时会找不到符号或者找到了但参数传递方式不对导致运行时栈错乱。5. 避坑与常见问题装完用不了的那些血泪经验这一章集中讲几个我实际踩过的坑每个都按“现象 - 原因 - 解决”的结构写。这些问题的共同点是看起来像编译器坏了实际上都是配置或环境问题。5.1 现象VS 里找不到 Fortran 模板原因Fortran 安装程序没有正确写入 VS 的插件注册信息。常见触发条件是先装了 Fortran 后装 VS或者 VS 安装时没有勾选 C 工作负载。解决先确认 VS 的 C 工作负载已安装。然后以管理员身份运行 Fortran 安装程序的“修复”功能修复完成后重启。如果还不行手动检查 VS 安装目录下的Common7\IDE\Extensions里有没有 Intel 文件夹没有的话说明集成组件根本没装需要重新运行安装程序并勾选 Integration 组件。5.2 现象编译报 “cannot open source file ‘iso_c_binding’”原因编译器找不到标准库模块文件。通常是环境变量INCLUDE没设置或者工程属性里“Fortran”-“General”-“Additional Include Directories”为空。解决在工程属性里手动添加编译器自带的 include 路径一般在编译器安装目录下的compiler\latest\windows\compiler\include或类似位置。更稳妥的做法是通过 Intel 的命令行环境启动 VS这样环境变量会自动配好。具体操作是从开始菜单找到“Intel oneAPI command prompt”在里面输入devenv启动 VS。5.3 现象程序运行时报 “forrtl: severe (157): Program Exception - access violation”原因访问了非法内存地址。常见于数组越界、空指针解引用、或者栈溢出。解决开启边界检查/check:bounds和未初始化变量检查/check:uninit重新编译运行让程序在出错时给出更具体的位置。如果是栈溢出比如递归太深或局部数组太大可以在链接器设置里增大栈保留大小“Linker”-“System”-“Stack Reserve Size”设为更大的值比如 1000000010MB。5.4 现象Debug 模式下正常Release 模式下结果不对原因Release 模式开启了优化可能改变了浮点运算顺序或者把未初始化的变量优化成了不确定值。解决先检查 Release 模式的浮点模型是否设成了“Fast”改成“Precise”试试。然后检查代码里有没有依赖未初始化变量的逻辑在 Debug 下这些变量可能恰好是 0Release 下就是随机值。用“Check Uninitialized Variables”在 Debug 下跑一遍把问题提前暴露出来。5.5 现象链接时提示 “unresolved external symbolMAIN_”原因Fortran 程序需要一个主程序入口如果工程里没有program语句的主程序或者主程序被错误地写成了子程序链接器就找不到入口。解决确认工程里至少有一个源文件包含program语句。如果是从其他工程拷贝的代码检查主程序文件是否被排除在生成之外。在解决方案资源管理器里右键该文件看“属性”里的“从生成中排除”是否被设成了“是”。6. 进阶技巧用命令行和批处理提升重复编译效率当你需要频繁编译、测试不同参数组合或者把编译过程集成到自动化脚本里时Visual Studio 的图形界面就有点慢了。这一章讲怎么用命令行调用 Intel Fortran 编译器以及怎么用批处理脚本一键完成“编译-运行-对比结果”的流程。这些技巧在我做参数扫描和回归测试时帮了大忙。6.1 命令行编译从 ifort 到 link 的完整链路Intel Fortran 的命令行编译器是ifort。在 Intel 的命令行环境里直接输入ifort加源文件名就能编译。比如# 编译单个源文件生成 obj ifort /c /O2 /fp:precise mycode.f90 # 链接 obj 生成 exe ifort /exe:mycode.exe mycode.obj # 一步完成编译和链接 ifort /O2 /fp:precise /exe:mycode.exe mycode.f90参数说明/c表示只编译不链接/O2是优化级别/fp:precise是浮点模型/exe:指定输出文件名。如果源文件有多个可以一起列在命令后面或者先分别编译成 obj 再链接。命令行编译的好处是速度快而且容易写进脚本。6.2 批处理脚本一键编译运行并对比输出下面这个批处理脚本是我用来做回归测试的模板。它会编译指定源文件运行生成的 exe然后把输出和参考结果做对比。echo off REM 设置编译器路径和参数 set IFORTifort set FFLAGS/O2 /fp:precise /check:bounds set SRCmycode.f90 set EXEmycode.exe set REFreference.txt set OUToutput.txt REM 编译 %IFORT% %FFLAGS% /exe:%EXE% %SRC% if errorlevel 1 ( echo Compile failed. exit /b 1 ) REM 运行并保存输出 %EXE% %OUT% REM 对比输出 fc %OUT% %REF% nul if errorlevel 1 ( echo Results differ from reference. exit /b 1 ) else ( echo Test passed. )这个脚本的逻辑很直接先编译编译失败就退出然后运行 exe把标准输出重定向到文件最后用fc命令对比输出文件和参考文件。errorlevel是批处理里判断上一条命令是否成功的标准方式。你可以把这个脚本改成循环遍历不同的输入参数实现批量测试。6.3 用环境变量控制编译选项一套代码多套配置有时候同一套代码需要在不同机器上编译每台机器的库路径和优化选项可能不同。这时候可以用环境变量来传递编译选项而不是把路径硬编码在工程文件里。比如在批处理里这样写if %FFLAGS% set FFLAGS/O2 /fp:precise ifort %FFLAGS% /exe:mycode.exe mycode.f90这样如果你在某台机器上需要加调试信息只需要在运行脚本前set FFLAGS/Od /check:bounds /debug:full脚本会自动用新的选项。这个习惯让我在切换开发机和测试机时省了很多改工程属性的时间。6.4 一个验证编译选项是否生效的小技巧有时候你改了工程属性或命令行参数但不确定编译器是否真的用了新选项。可以在代码里加一行编译指示让编译器输出当前配置。比如! 在程序开头输出编译信息 #ifdef __INTEL_COMPILER write(*, (A, I0)) Intel compiler version: , __INTEL_COMPILER #endif write(*, (A)) Program started.__INTEL_COMPILER是 Intel 编译器预定义的宏它的值对应编译器版本号。如果这行能编译通过并输出说明你用的确实是 Intel 编译器。如果报错说宏未定义那可能你调用的不是 ifort而是别的编译器。这个技巧在排查“为什么编译选项没生效”时特别有用因为有时候 PATH 里混进了其他编译器你以为在用 ifort实际上用的是别的。我自己的习惯是每接手一个新环境先写一个最小测试程序用命令行编译运行一遍确认编译器、链接器、运行时都正常再开始导入正式工程。这个习惯帮我排除了无数次“以为是代码问题其实是环境问题”的误判。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

方差阈值特征选择:原理、实操与Pipeline避坑指南

方差阈值特征选择:原理、实操与Pipeline避坑指南

特征工程里有个挺尴尬的现实:很多人花大力气调模型、换算法,最后发现真正拖后腿的是那堆几乎不变化的特征列。方差阈值选择就是专门解决这个问题的——它不看你跟标签的关系,只看特征自己有没有“波动”。这篇文章我会把方差阈值法的原理、参…

2026/10/18 14:40:42 阅读更多 →
Cesium 自主漫游实战:路径插值、姿态控制与时间轴完整实现

Cesium 自主漫游实战:路径插值、姿态控制与时间轴完整实现

简介:这是一份面向具备一定GIS开发基础读者的Cesium三维开发实战源码包,聚焦于在三维地球场景中实现键盘驱动的自主漫游功能。资源通过监听WASD或方向键事件,结合CallbackProperty逐帧更新小车实体的位置与朝向,并将整套逻辑封装为…

2026/10/18 14:40:42 阅读更多 →
SGK字典学习算法:半正交约束与分块SVD的工程化实现

SGK字典学习算法:半正交约束与分块SVD的工程化实现

简介:本资源为面向图像处理与计算机视觉方向研究者及算法工程师的字典学习核心算法实现包,聚焦SGK(Semi-Orthogonal Generalized K-SVD)这一高效改进型字典学习方法,解决传统K-SVD在大规模数据下计算慢、收敛低的问题&…

2026/10/18 14:40:42 阅读更多 →

最新新闻

ROS2小车网页遥控:WebSocket桥接实现低延迟物理控制

ROS2小车网页遥控:WebSocket桥接实现低延迟物理控制

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

2026/10/18 17:03:56 阅读更多 →
STSPIN32G4高集成方案:FOC电机控制从选型到调试全实践

STSPIN32G4高集成方案:FOC电机控制从选型到调试全实践

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

2026/10/18 17:03:56 阅读更多 →
树莓派自动温控风扇:DS18B20与PWM调速实战

树莓派自动温控风扇:DS18B20与PWM调速实战

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

2026/10/18 17:03:56 阅读更多 →
传感器数据跳变排查指南:从硬件到软件的实战解决方案

传感器数据跳变排查指南:从硬件到软件的实战解决方案

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

2026/10/18 17:03:56 阅读更多 →
STM32F407的Modbus RTU主机代码详解:CRC16校验与RS485收发切换

STM32F407的Modbus RTU主机代码详解:CRC16校验与RS485收发切换

简介:基于STM32F407的Modbus RTU主机通信工程,实现RS485总线上完整的主站收发流程,适合嵌入式开发者及工业自动化技术人员在设备数据采集、从站轮询控制等场景中直接参考。工程基于STM32标准外设库编写,核心代码涵盖USART串口参数…

2026/10/18 17:03:56 阅读更多 →
帆软FR中JS实现分类汇总:完整思路、性能优化与避坑指南

帆软FR中JS实现分类汇总:完整思路、性能优化与避坑指南

做报表开发久了,你会发现一个奇怪的现象:SQL里一个GROUP BY就能搞定的分类汇总,到了帆软FR(FineReport)里,偏偏要用JS去实现。最开始我也觉得这是脱裤子放屁,直到遇到一个真实业务:某…

2026/10/18 17:02:55 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/18 12:16:16 阅读更多 →