切换到宽版
  • 广告投放
  • 稿件投递
  • 繁體中文
  • 如何编译用户自定义DLL

    作者:Zemax China 来源:投稿 时间:2020-05-20 17:08 阅读:5815 [投稿]
    本文将介绍什么是用户自定义DLL以及如何在Visual Studio中编译用户自定义DLL。本教程是基于Visual Studio Community 2017 version 15.9而创建的,但这些步骤在更早的版本中也适用,版本间变化指出均有记载。本文也会讨论其他的编译器。

    概述

    本文将介绍什么是用户自定义DLL以及如何在Visual Studio中编译用户自定义DLL。本教程是基于Visual Studio Community 2017 version 15.9而创建的,但这些步骤在更早的版本中也适用,版本间变化指出均有记载。本文也会讨论其他的编译器。请注意本文不涉及如何编写DLL。

    OpticStudio专业版和旗舰版允许用户使用C或C++程序建立他们自己的组件。有很多编译器可以编译C/C++代码,其中很常用的是Visual Studio。本文将提供一步步的编译DLL的指南。

    什么是用户自定义DLL?

    OpticStudio可以通过用户自定义DLL来订制。

    在序列模式中,表面定义了光学材料的界面。表面类型可以是折射、反射、衍射或者渐变折射率。OpticStudio支持超过65种不同的表面类型,包括非常普适的面型包括多项式面型和双锥Zernike。

    然而,很多时候用户依旧希望可以根据他们的具体需求订制一些功能。这就是用户自定义面型有用且强大的地方了,因为OpticStudio包含使用它的界面。

    在非序列模式中,物体定义了光学材料的界面。物体拥有带有材料属性的几何形状,且可以有面(face)来折射或者散射光线。材料也可以散射光线。物体也可以是个光源。OpticStudio有针对上述所有类型的内建的物体和属性。在非序列模式中。所有的这些都可以通过以下的DLL来订制:用户自定义物体、GRIN档案、衍射算法、体散射算法、用户自定义光源。

    64位系统要求

    过去,OpticStudio曾发布过32位和64位程序,这意味着根据不同的OpticStudio,32位和64位的DLL都可能存在。现在,OpticStudio只支持64位的应用。如果在使用DLL时弹出以下错误信息,那么源代码必须使用本文的步骤重新编译。


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

    Windows SDK 7.1(https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=8279)。下载后,找到Tools…Options…Environment…Projects and Solutions。在该窗口勾选“Show advanced build configurations”且保证设置如下:


    Tools…Options和“Project Properties”对话框里的不一样。

    编译DLL

    一般设置

    DLL文件(Dynamic Link Library)是Visual Studio的一种输出类型。为了建立一个DLL,我们先创建project space来放置代码。

    在Visual Studio种找到File…New…Project。


    分享到:
    扫一扫,关注光行天下的微信订阅号!
    【温馨提示】本频道长期接受投稿,内容可以是:
    1.行业新闻、市场分析。 2.新品新技术(最新研发出来的产品技术介绍,包括产品性能参数、作用、应用领域及图片); 3.解决方案/专业论文(针对问题及需求,提出一个解决问题的执行方案); 4.技术文章、白皮书,光学软件运用技术(光电行业内技术文档);
    如果想要将你的内容出现在这里,欢迎联系我们,投稿邮箱:service@opticsky.cn
    文章点评

    小小白啊:学习了(09-01)

    顾鹏翔:学习了(06-12)

    rige:学习了。。。。。(05-30)

    jialunzhang:我在生成时遇见“无法启动.dll”文件的情况,请问这是为什么呢(05-30)

    xiebin525:学习了,谢谢(05-25)