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
主站蜘蛛池模板: 伊人国产无码高清视频| 2021最新国产精品网站| 日韩精品免费一线在线观看| 日本道综合一本久久久88| 精品福利国产| 97久久精品人人| 国产91在线|日本| 亚洲日本中文字幕乱码中文| 久久国产拍爱| 国产在线啪| 日韩一区精品视频一区二区| 日韩欧美一区在线观看| 久久婷婷人人澡人人爱91| 成人va亚洲va欧美天堂| 91小视频版在线观看www| 国产丝袜精品| 99免费在线观看视频| 亚洲男人在线| 亚洲欧美日韩中文字幕一区二区三区| 国产精品欧美在线观看| yy6080理论大片一级久久| 国产无码在线调教| 91精品专区| a级毛片毛片免费观看久潮| 国产剧情无码视频在线观看| 久久永久免费人妻精品| 老司机精品一区在线视频| 欧美一级夜夜爽www| 亚洲综合在线网| 欧美亚洲一二三区| 欧美中文字幕在线播放| 国产午夜福利片在线观看| 欧洲极品无码一区二区三区| 亚洲国产欧美自拍| 色综合狠狠操| 综合色在线| a免费毛片在线播放| 色哟哟国产成人精品| 精品国产成人三级在线观看| 欧美午夜小视频| 欧美色亚洲| 999在线免费视频| 久久天天躁狠狠躁夜夜2020一| 97se亚洲综合不卡| 极品尤物av美乳在线观看| 亚洲日韩Av中文字幕无码| 国产天天射| 亚洲乱码在线播放| 人妻少妇乱子伦精品无码专区毛片| 成年人久久黄色网站| 日韩无码精品人妻| 丁香亚洲综合五月天婷婷| 欧美在线黄| 88av在线看| 免费A∨中文乱码专区| 亚洲av成人无码网站在线观看| 97视频在线精品国自产拍| 在线观看亚洲精品福利片| 婷婷开心中文字幕| 亚洲中文字幕av无码区| 免费看的一级毛片| 久久精品最新免费国产成人| 亚洲天堂视频在线观看| 人妻免费无码不卡视频| 色偷偷av男人的天堂不卡| 在线亚洲精品自拍| 伊人久久精品无码麻豆精品| 99这里精品| 国产无人区一区二区三区| 国模在线视频一区二区三区| 欧美精品在线看| lhav亚洲精品| 亚洲精品国产精品乱码不卞 | 2021天堂在线亚洲精品专区| 国产91在线|日本| 中文字幕亚洲无线码一区女同| 日本a级免费| 国产日韩av在线播放| 青青热久免费精品视频6| 一区二区三区四区在线| 国产精品尤物铁牛tv| 免费a级毛片18以上观看精品|