IDL 编译
IDL 程序分两类:过程 pro 和函数 Function, 最大区别是函数有返回值
pro add,a,b
print,a+b
end
function add,a, b
return,a+b
end
1 .compile .run .rnew 编辑
IDL 编译程序有.compile .run .rnew, 都需要在IDL命令行中输入
% Compiled module: ADD.
IDL> .compile 'C:\Users\LQQ\IDLWorkspace\test\IDL_IDLBridge_test\add.pro'
% Compiled module: ADD.
IDL> .run 'C:\Users\LQQ\IDLWorkspace\test\IDL_IDLBridge_test\add.pro'
% Compiled module: ADD.
IDL> .rnew 'C:\Users\LQQ\IDLWorkspace\test\IDL_IDLBridge_test\add.pro'
% Compiled module: ADD.
.compile 可以对多个函数/过程同时被编译
.run 是用来编译和执行IDL主程序的命令组合
.rnew与run类似,但在主程序编译和运行之前将删除已经存在的变量
2. resolve_routine 编译
resolve_routine 以IDL程序模块名作为参数,编译同名文件。
优点在于可在IDL程序模块里编译其他程序模块,无需命令行,不管模块之前是否已编译过,都会被重新编译
pro test_resolve_routine
compile_opt idl2
resolve_routine, 'add', /EITHER
add, 1,2
end
3. resolve_all 编译
resolve_all 与 resolve_routine类似。将交互的搜索IDL内存中任何未编译的模块同时编译它们。
IDL编译规则
1. 编译到主程序后,编译就会停止,接着编译和运行主程序。
这个规则表明了在一个*.pro文件中,只允许有一个主程序模块(与文件名同名模块);
如果要编译所有程序模块,主程序模块必须时在文件中最后一个程序模块。
2. 编译到文件末尾或适合其他规则时,文件将停止编译。
这个规则表明,如果此文件中没有一个与文件名相同的模块,文件中所有模块将会被编译,但不运行任何一个模块。
注意:IDL内置的系统过程,如plot, surface等优先级较高,因此,尽量避免自己的程序与IDL内置命令相同
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)