主流的三种光学设计软件的扩展语言都不提供指针。
Zemax的是ZPL(Zemax Program Language),是一种类BASIC的语言,扩展了函数和关键字。
OSLO的CCL(Compiled Command Language),是C的一个子集,提供一个简单的数据库管理功能(主要是管理玻璃,镜头库,样板库...),类似于Java,是编译成pseudo code运行,光线追迹的速度是完全编译版本的1/50,相比其它的比较快了。不提供 指针,结构的支持。提供参数检测功能,不需要指针的可变尺度的二维数组,也支持 & 的传参操作。
CODE V 的是Macro plus,感觉风格很古老,有Fortran混合汇编的感觉,毕竟CODE V 1968年就有商业版了,向前兼容使得它无从改起。Macro plus支持表格查询。
这些语言中,对镜头数据都提供一定程度的保护,防止程序在意外情况下修改了镜头数据,这一点主要是通过关键字和函数的区分来的,关键字取数,函数完成修改。这也是和常见C/C++的一个主要区别。
转载请注明出处。