如何将IDL转换成EXE(C#)
2015-09-05 13:10
309 查看
有的时候,我们需要将IDL的SAV文件或PRO文件转换成EXE文件,比如,有的IDL图像处理算法,需要输入输出图像参数,而这时候,我们根据要求需要转换成EXE形式,更易于方便移植和操作。下面我们以一个IDL算法为例,来讲述如何将IDL程序变成exe形式。
首先,建立一个控制台程序:
然后,导入COM_IDL_CONNECT或COM_IDL_connect_x86_64组件,这两个组件作用类似,但一个是32位的一个是64位的,由于我的IDL装在C盘,这两个组件在C:\Program
Files\Exelis\IDL83\resource\bridges\export\COM目录下,找到后,添加引用,即可完成
加完以后,开始在main函数里面开始写代码,先加入这两句
COM_IDL_connectLib.COM_IDL_connect oCom = new COM_IDL_connectLib.COM_IDL_connect();
oCom.CreateObject(0, 0, 0);
加完以后,我们需要执行,pro文件或sav文件,所以我们必须将这两个文件放到指定的目录下,这里我放到的是程序bin下面的debug下面,即和exe是一个文件下面,我用一下代码实现,获取pro或sav文件
string dllPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
string path1 = Path.GetDirectoryName(dllPath);
string proPath = path1 + "\\Vegetation_Extracting.pro";
获取文件路径以后,我们就可以执行了
oCom.ExecuteString(".compile '" + proPath + "'");注意,如果是sav文件,就改为oCom.ExecuteString("resore,
'" + proPath + "'");
到这里,只是调用IDL组件成功,如果后面还有IDL程序还有要输入的参数的话,我们还需要进一步执行
string a = "Vegetation_Extracting,'" + args[0] + "','" + args[1] + "','" + args[2] + "'";
注意这里,args[0],args[1],args[2]就是我们要输入或者输出的参数,可能很多人问,这在哪输入的,哈哈,在这里
好,如果,参数输入的对的话,我们就可以执行了
oCom.ExecuteString(a);
这样,如果成功的话,那么IDL就成功转换成EXE了,然后我们用生成好的EXE就可以放到CMD里面,输入参数,就可以直接跑了!
首先,建立一个控制台程序:
然后,导入COM_IDL_CONNECT或COM_IDL_connect_x86_64组件,这两个组件作用类似,但一个是32位的一个是64位的,由于我的IDL装在C盘,这两个组件在C:\Program
Files\Exelis\IDL83\resource\bridges\export\COM目录下,找到后,添加引用,即可完成
加完以后,开始在main函数里面开始写代码,先加入这两句
COM_IDL_connectLib.COM_IDL_connect oCom = new COM_IDL_connectLib.COM_IDL_connect();
oCom.CreateObject(0, 0, 0);
加完以后,我们需要执行,pro文件或sav文件,所以我们必须将这两个文件放到指定的目录下,这里我放到的是程序bin下面的debug下面,即和exe是一个文件下面,我用一下代码实现,获取pro或sav文件
string dllPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
string path1 = Path.GetDirectoryName(dllPath);
string proPath = path1 + "\\Vegetation_Extracting.pro";
获取文件路径以后,我们就可以执行了
oCom.ExecuteString(".compile '" + proPath + "'");注意,如果是sav文件,就改为oCom.ExecuteString("resore,
'" + proPath + "'");
到这里,只是调用IDL组件成功,如果后面还有IDL程序还有要输入的参数的话,我们还需要进一步执行
string a = "Vegetation_Extracting,'" + args[0] + "','" + args[1] + "','" + args[2] + "'";
注意这里,args[0],args[1],args[2]就是我们要输入或者输出的参数,可能很多人问,这在哪输入的,哈哈,在这里
好,如果,参数输入的对的话,我们就可以执行了
oCom.ExecuteString(a);
这样,如果成功的话,那么IDL就成功转换成EXE了,然后我们用生成好的EXE就可以放到CMD里面,输入参数,就可以直接跑了!
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#通用邮件发送类分享
- C#中this的用法集锦
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#生成饼形图及添加文字说明实例代码
- C#判等对象是否相等的方法汇总
- C#简单的向量用法实例教程
- C#实现基于链表的内存记事本实例
- C#托管堆对象实例包含内容分析
- C#实现按照指定长度在数字前补0方法小结