999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

IDL與VC信息相互傳遞的實現方法

2015-08-18 11:12:36米云博熊顯名桂林電子科技大學電子工程與自動化學院廣西桂林541004
網絡安全與數據管理 2015年2期
關鍵詞:程序語言信息

米云博,熊顯名,王 永(桂林電子科技大學 電子工程與自動化學院,廣西 桂林 541004)

IDL與VC信息相互傳遞的實現方法

米云博,熊顯名,王永
(桂林電子科技大學電子工程與自動化學院,廣西桂林 541004)

為了準確傳遞和保存IDL可視化數據信息,實現語言之間的互通性、資源共享性、數據信息的多樣性、調用格式的不同性,基于解析函數調用的方法,運用動態鏈接庫和一系列的子類函數獲取數據,使IDL與VC之間相互轉換信息,可通過VC直接對遙感影像進行處理,為應用系統的研發提供了一種新方法。試驗實例證明,該方法能簡單有效地將IDL與VC有機地結合在一起,實現了信息相互傳遞,并通過C直接對遙感影像進行操作處理。

交互式語言;高級語言VC;信息傳遞;解析函數調用

0 引言

隨著遙感技術的不斷發展,交互式語言(IDL)成為人們關注的重要語言[1],在眾多行業廣泛應用。由于大部分軟件和通信保存格式都是用高級語言C來編寫的,因此,將IDL和C語言有機地結合在一起,且不需要改寫原有的程序就能將遙感信息數據傳遞并保存,成為當前遙感領域急需解決的問題之一。C語言具有通用性、可擴展性、廣泛性強的特點[2],因此應用最為廣泛。目前,IDL與C語言的結合還比較少,各個國家都開展了IDL與C語言接口信息傳遞的研究,而中國在這方面還處在探討階段。因此,如何將IDL有效信息通過C語言傳遞并保存成為目前遙感領域以及高級語言領域里一個值得研究的方向。本文提出了一種函數調用方法,有效地實現了信息在IDL 與C語言之間的傳遞。

1 開發語言的使用

IDL是一種數據可視化面向矩陣的第4代交互式計算機語言,是集成可視化、大型商業開發、交互式分析為一體的高級開發環境[1]。IDL主要面向對象為可視化數據分析,它的語法結構簡單、功能強大、編程效率高,簡單的編程實現復雜的圖像分析,是跨平臺應用開發的最佳選擇,它提供的圖像類能夠快速地對圖像進行分析,可與OpenGL相媲美,因此被廣泛地應用在遙感領域中[3]。

IDL支持各種操作系統平臺,具有很好的移植性,為與VC相結合提供了基礎。VC是微軟推出的運行非常穩定、非常有影響力的專業級程序設計與數據處理語言。將IDL與VC有機地結合在一起,發揮各自優點,以實現資源共享,使IDL的信息具有廣泛性和通用性。

2 解析函數調用方法

IDL為了擴充編程和數據處理能力,提供了應用程序接口(API)技術。利用API技術可方便地實現在IDL中調用 VC的可執行文件、函數和程序。數據傳遞總體框圖如圖1所示。

圖1 數據傳遞框圖

2.1IDL調用 VC

在IDL中調用VC可以使用3種方法:SPAWN方法、LINKIMAGE方法和CALL-EXTERNAL方法。利用SPAWN方法可以直接調用VC的可執行文件,但是執行調用不帶參數的SPAWN命令時,將調用Windows的DOS Shell命令窗口,使用時需要轉換。LINKIMAGE方法是通過系統所支持的動態鏈接接口完成程序調用任務,但使用此方法,開發者需要有豐富的 IDL內部知識,該方法不適合一般的開發者使用。利用 CALL-EXTERNAL方法能夠在IDL調用VC中精準地匹配數據結構,對于非結構數據的傳輸,不需要調用其他命令窗口,具有 LINKIMAGE方法的優點,但不需要開發者對IDL內部特別熟悉,因此本文選用CALL-EXTERNAL方法來調用VC程序[4]。

IDL程序能在運行時動態調用VC程序,通過CALL-EXTERNAL接口函數裝入共享目標庫實現函數調用,在 Windows平臺上,IDL通過動態鏈接庫技術來實現,能夠方便地實現模塊化[5]。IDL調用動態鏈接庫遵循C語言中函數調用協議。任何的動態庫調用原型都被定義成 returntype()形式,返回值必須是CALL-EXTERNAL函數支持的數據類型。其中所有的參數都能以“傳值”或“引用”方式進行傳遞。程序編寫流程圖如圖2所示。

根據流程圖編寫程序。調用VC輸入數據最終顯示結果如圖3所示。可以看出,該方法編寫的程序能夠很好地調用VC輸入的數據,從而表明此方法的正確性、可行性。

圖2 IDL調用VC程序流程圖

圖3 IDL調用VC結果顯示圖

2.2VC調用IDL

利用IDL的API,可以實現VC調用IDL的命令、函數和數據。調用IDL的技術在操作系統中都會調用IDL的驅動程序,而驅動程序會存在于IDL動態鏈接庫中[6],調用時主要的3個環節如下。

(1)初始化IDL。在調用IDL之前要對IDL進行初始化,使用 IDL_Win32Init()函數來對 IDL進行初始化,使用方法為:其中,abc取值為0保留參數,后面兩個參數都是句柄,null也是一個保留參數取值為 NULL的數,當初始化成功返回值為“TURE”。

(2)VC應用程序中輸出在同一個邏輯窗口,當IDL被調用時,默認的輸出函數會被 IDL所覆蓋,需要通過IDL_ToutPush和 IDL_ToutPop來轉移 IDL的輸出結果到指定的函數中。IDL中提供了IDL_Execute()和 IDL_ExecuteStr()兩個函數,用于在其他語言中調用 IDL語句,調用具體形式為;

(3)在調用完IDL語句之后主函數執行完之前,需要通過函數 IDL_Cleaup來關閉IDL。調用方法為:

int IDL_Cleaup(int just cleanup);

根據IDL的調用方法在VC6.0的編譯環境下,通過動態鏈接庫實現一個能調用IDL的VC程序,程序編寫流程圖如圖4所示。

根據流程圖編寫程序具體實現VC調用IDL,VC程序調用“IDL輸入”的結果,在 IDL編輯對話框輸入編輯內容,在VC編輯窗口點擊接收按鈕將“IDL輸入”數據顯示在VC編輯對話框的顯示框內,顯示結果如圖5所示。

圖4 VC調用IDL流程圖

圖5 VC調用IDL的效果圖

3 實驗

根據上述方法可知,IDL 與VC之間可以通過動態鏈接庫相互之間傳遞數據,由于 IDL主要是 GUI界面,大部分是對圖像進行處理,因此對圖像數據信息的傳遞尤為重要。根據上述方法進行程序的編寫,使VC能夠接收IDL圖像并以VC的保存格式來保存IDL的數據信息,并直接對圖像處理,再將處理結果直接傳遞給 IDL。本文利用IDL編寫的水深反演軟件將處理的圖像信息按照上述方法傳輸給VC程序,利用VC來顯示IDL處理圖像的結果,如圖6和圖7所示。

圖6 IDL水深反演軟件進行圖像處理結果圖

圖7 VC調用IDL資源及圖像處理圖

根據圖像顯示結果可知,IDL和VC可以相互轉換數據,也可以將數據以它們各自的形式進行保存,從而說明IDL和VC可以很好地結合在一起,信息可以相互傳遞實現資源共享。

4 結論

本文介紹了將IDL和VC相互結合的方法,讓它們體現各自的特點,詳細描述了實現方法,并用實際例子來證明了本文方法的可行性和正確性。本文方法為IDL 和VC混合開發軟件提供了參考基礎,也為兩種語言的應用研究開發提供了一種新的思路和方法,對IDL和 VC資源共享的研究具有重要意義。

[1]韓培友.IDL可視化分析與應用[M].西安:西北工業大學出版社,2006.

[2]孫鑫,余安萍.VC++深入詳解[M].北京:電子工業出版社,2007.

[3]陶治,張文濤,熊顯名,等.基于IDL生成XML文件實現信息傳遞的方法[J].桂林電子科學學報,2014,34(1):56-59.

[4]RSI.IDL reference guide(First Edition)[M].American:RSI,2005.

[5]徐爐清,頓敦.動態鏈接庫(DLL)的應用[J].機械與電子,1999(4):19-48.

[6]李義才,汪新慶,劉志軍,等.IDL與 Visual C/C++語言進行混合編程的方法研究 [J].計算機應用研究,2011 (7):46-48.

The method of achieving information transfer between IDL and VC

Mi Yunbo,Xiong Xianming,Wang Yong
(School of Electrical Engineering and Automation,Guilin University of Electronic Technology,Guilin 541004,China)

In order to accurately transfer and save the IDL visualization data information,achieve interoperability between different languages,resource sharing,the diversity of data information and the dissimilarity of call format,a new way has been provided for development of application system.It′s based on the method of a parsing function call,using dynamic link library and a series of subclasses function to get the data which can transfer information between IDL and VC and deal with remote sensing image by VC language directly.Verified by tests,this method unites IDL and VC together simply and effectively.It can achieve transformation of mutual information and deal with remote sensing image by C language directly.

Interactive Data Language(IDL);advanced language VC;information transfer;call of parsing function

TP79

A

1674-7720(2015)02-0080-03

(2014-08-28)

米云博(1987-),女,碩士研究生,主要研究方向:遙感技術應用以及圖像處理。

熊顯名(1964-),男,本科,研究員,主要研究方向:光學測試及計算機技術。

王永(1986-),男,碩士研究生,主要研究方向:遙感技術應用以及圖像處理。

猜你喜歡
程序語言信息
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
讓語言描寫搖曳多姿
“程序猿”的生活什么樣
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
累積動態分析下的同聲傳譯語言壓縮
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
我有我語言
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 538国产在线| 日韩一级毛一欧美一国产| 欧美三级视频网站| 青青久久91| 亚洲人成成无码网WWW| 精品国产免费人成在线观看| 亚洲第一中文字幕| 国产精品区网红主播在线观看| 日本三区视频| 欧美国产菊爆免费观看| 亚洲第一色视频| 欧美成人一区午夜福利在线| JIZZ亚洲国产| 国产手机在线ΑⅤ片无码观看| 国产在线观看一区精品| 久久精品免费看一| 日本午夜精品一本在线观看| 国产在线观看成人91 | 91网址在线播放| 无码粉嫩虎白一线天在线观看| 国产欧美高清| 老司机精品久久| 中文字幕va| 一级在线毛片| 啪啪国产视频| 在线看片中文字幕| 国产精品免费久久久久影院无码| AV网站中文| 色综合中文综合网| 2020国产精品视频| 国产日韩欧美视频| 色哟哟色院91精品网站| 在线日本国产成人免费的| 午夜激情婷婷| 久久久久亚洲AV成人人电影软件| 日本在线国产| 国产成年女人特黄特色大片免费| 国产亚洲现在一区二区中文| 九九久久精品国产av片囯产区| www亚洲天堂| 97se亚洲综合在线韩国专区福利| 特级做a爰片毛片免费69| 亚洲黄色成人| 婷婷综合亚洲| 亚洲中文精品久久久久久不卡| 亚洲天堂久久| 国产在线视频福利资源站| 91精品啪在线观看国产| 亚洲欧洲日产国码无码av喷潮| 亚洲欧美在线综合图区| 91精品人妻互换| 成人午夜亚洲影视在线观看| 伊人蕉久影院| 国产欧美日韩va另类在线播放| 污网站在线观看视频| 欧美一区福利| 欧美五月婷婷| 丁香婷婷激情综合激情| 精品国产成人国产在线| 2021国产精品自产拍在线| 五月婷婷激情四射| 日本日韩欧美| 高清精品美女在线播放| 国产va在线观看| 国产国产人免费视频成18| 国产精品妖精视频| 亚洲日本中文字幕天堂网| 波多野结衣AV无码久久一区| 亚洲无线一二三四区男男| 日日碰狠狠添天天爽| 在线观看免费黄色网址| 天天色天天操综合网| 欧美国产日韩在线| 日韩一区二区三免费高清| 天天干天天色综合网| 老司机午夜精品网站在线观看 | 福利国产在线| 丁香综合在线| 国产男女免费视频| 亚洲综合色在线| 少妇高潮惨叫久久久久久| 成人午夜网址|