在C#中使用IDL文件,IDL是个接口定义文件

在C#中使用IDL文件,IDL是个接口定义文件,第1张

在C#中如果我们需要调用API等COM类型的函数,有Tlb文件还好,VS可以直接引用,但是很多情况下引用睁睁是不成功的,要想得到一个C#自动封装好的COM的Interop程序集,我们可以这样做:

1.用MIDL.exe :使用方式为MIDL.exe  IDL文件名。 此工具将生成一个Tlb文件,如果该文件直接可以用VS引用生成Interop程序集则不需要下面的步骤。

2.用TlbImp.exe :使用方式为 TlbImp.exe Tlb文件名。 此工具将生成一个.NET标准的程序集,直接应用就可以了。

3.要想得到生成的Interop程序集陵哗的源码,需尺早行要自动调整一下,还可以使用reflector,将生成一个CS文件。直接加入项目即可。

执行上述指令,可以在VS的Developer Powershell中执行。

如何学好IDL编程:

一是吃透变量、读写文件等,它们是你拿来跟遥感数据打交道的东西;

二是写清程序结构,自己做做缩进,代码块之间用空行分开,写注释等等,不一而足;

三是掌握好function和procedure中关键字的用法。IDL不像C++或者.NET等等,有按值传参和按引用传参之分,IDL解决此类问题的方物首法是关键字。

四是吃透数字图像处理那部分的罩野数基本算法,虽然大部分功能已经由IDL造好了轮子,但只有吃透了原理,用的时候才能信手拈来。

许多函数有源码提供,IDLDE(开发环境界脊圆面)里在函数或过程名上点右键,绿色名称的除了帮助之外一般都有查看源码的选项,可以学到不少东西

从开码笑始做这个课题到现在就没少用IDL读FITS文件。这个方面用mrdfits比较容易,基本就是一行搞定数据,几行搞定文件头,用了不知多少次。其实在读FITS的时候就在想,把写FITS也搞明白吧,不过惰性太大,一直都回避这个问题。 今天合作者建议我罩慎把数据平滑一下重新计算。我用的那个程序的输入就是一个FITS文件,这就意味着我需要重新写一个平滑后的FITS文件,于是今天不得不去看看怎么写FITS文件了。原来知道和mrdfits对应的有mwrfits,专门写FITS文件的。我有一个数组迟闷含a和文件头head,于是按照说明里写 IDL>mwrfits,a,'out.fits',head 这样倒是可以生成一个FITS文件,查看了也正常,可是我用来处理的那个程序就是不认。不得已,参考了一下别人的程序,用writefits IDL>writefits, 'out.fits', a, head 这样生成的FITS文件就能被识别了。原因为何,有待研究。 在文件头某些信息改变的情况下还需要改一下文件头里的参数,可以用fxaddpar,例如改变参数'NAXIS'的值 IDL>fxaddpar,'NAXIS',2


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8209698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存