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
主站蜘蛛池模板: 国产精品精品视频| 亚洲欧美精品一中文字幕| 全部免费特黄特色大片视频| 中文字幕无线码一区| a级毛片免费网站| 一本二本三本不卡无码| 小说 亚洲 无码 精品| 99精品热视频这里只有精品7| 成人夜夜嗨| 亚洲天堂首页| 久久久久亚洲精品成人网| 婷婷在线网站| 免费人成又黄又爽的视频网站| 亚洲欧美激情小说另类| 日韩欧美中文| 毛片在线看网站| 亚洲日本www| 真实国产精品vr专区| 国产精品手机在线播放| 男女男免费视频网站国产| 人妻无码中文字幕一区二区三区| 久久熟女AV| 青青国产成人免费精品视频| 亚洲色欲色欲www网| 国产毛片高清一级国语| 91色在线视频| 久久精品亚洲中文字幕乱码| 奇米精品一区二区三区在线观看| 少妇精品久久久一区二区三区| 国产精品开放后亚洲| 国产自无码视频在线观看| 五月天丁香婷婷综合久久| 国产在线麻豆波多野结衣| 国产综合无码一区二区色蜜蜜| 亚洲国产日韩欧美在线| 69视频国产| 亚洲欧洲自拍拍偷午夜色| 国产午夜无码片在线观看网站| 欧美成人综合在线| 人人澡人人爽欧美一区| 全部无卡免费的毛片在线看| 一本一道波多野结衣一区二区| 免费Aⅴ片在线观看蜜芽Tⅴ | 少妇露出福利视频| 日本午夜视频在线观看| 国产好痛疼轻点好爽的视频| 久久福利片| 精品一区二区三区视频免费观看| 亚洲第一视频网| 色呦呦手机在线精品| 97精品国产高清久久久久蜜芽| 国产成人区在线观看视频| 欧美国产在线一区| 亚洲人成网站日本片| 久久久久青草线综合超碰| 国产成人a在线观看视频| 东京热av无码电影一区二区| 亚洲黄色成人| 国产精品吹潮在线观看中文| 亚洲天堂久久| 成年人视频一区二区| 女人毛片a级大学毛片免费| 国产网友愉拍精品视频| 波多野结衣一区二区三视频 | 99在线视频免费观看| 国产精品深爱在线| 无码精品国产dvd在线观看9久| 欧美 亚洲 日韩 国产| 日韩欧美国产另类| 日本影院一区| 青青青国产在线播放| 亚洲国产精品国自产拍A| 亚洲综合狠狠| 狠狠ⅴ日韩v欧美v天堂| 啪啪啪亚洲无码| 在线欧美国产| 国产日本一区二区三区| 一本久道久久综合多人| 91成人精品视频| 美臀人妻中出中文字幕在线| 欧美中日韩在线| 国产一级无码不卡视频|