No.1
概述
本文将介绍什么是用户自定义DLL以及如何在Visual Studio中编译用户自定义DLL。
本教程是基于Visual Studio Community 2017 version 15.9而创建的,但这些步骤在更早的版本中也适用,版本间变化指出均有记载。本文也会讨论其他的编译器。请注意本文不涉及如何编写DLL。
OpticStudio专业版和旗舰版允许用户使用C或C++程序建立他们自己的组件。有很多编译器可以编译C/C++代码,其中很常用的是Visual Studio。本文将提供一步步的编译DLL的指南。
No.2
什么是用户自定义DLL?
OpticStudio可以通过用户自定义DLL来订制。
在序列模式中,表面定义了光学材料的界面。表面类型可以是折射、反射、衍射或者渐变折射率。
OpticStudio支持超过65种不同的表面类型,包括非常普适的面型包括多项式面型和双锥Zernike。
然而,很多时候用户依旧希望可以根据他们的具体需求订制一些功能。这就是用户自定义面型有用且强大的地方了,因为OpticStudio包含使用它的界面。
在非序列模式中,物体定义了光学材料的界面。物体拥有带有材料属性的几何形状,且可以有面(face)来折射或者散射光线。材料也可以散射光线。物体也可以是个光源。
OpticStudio有针对上述所有类型的内建的物体和属性。在非序列模式中。所有的这些都可以通过以下的DLL来订制:用户自定义物体、GRIN档案、衍射算法、体散射算法、用户自定义光源。
No.3
64位系统要求
过去,OpticStudio曾发布过32位和64位程序,这意味着根据不同的OpticStudio,32位和64位的DLL都可能存在。
现在,OpticStudio只支持64位的应用。如果在使用DLL时弹出以下错误信息,那么源代码必须使用本文的步骤重新编译。

注意:对于老的Visual Studio,可能需要安装的额外的64位编译程序包,具体步骤请见:
Windows SDK 7.1(https://www