青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

穩定盈利的期貨交易方法-量化趨勢交易

alantop -專業量化投資者

愛好:量化投資,逆向工程,滲透
隨筆 - 595, 文章 - 0, 評論 - 921, 引用 - 0
數據加載中……

IDL是什么?

IDL(Interface Definition Language)即接口定義語言,是CORBA規范的一部分,是跨平臺開發的基礎。IDL提供一套通用的數據類型,并以這些數據類型來定義更為復雜的數據類型。可變化 IDL 基本類型 整數類型 OMG IDL 摒棄int 類型在不同平臺上取值范圍不同帶來的多義性的問題。常數定義常數可以是整數、字符、浮點數、字符串、Boolean、octet 或枚舉型,不能是 any 類型或用戶定義的類型。OMG IDL數組類型IDL array 和 sequence,可以輕易地被映射到實現語言中。序列可以包含所有類型的元素,不管是基本類型還是用戶定義的類型。

IDL(Interface Definition Language)即接口定義語言,是CORBA規范的一部分,是跨平臺開發的基礎。IDL提供一套通用的數據類型,并以這些數據類型來定義更為復雜的數據類型。可變化 IDL 基本類型 整數類型 OMG IDL 摒棄int 類型在不同平臺上取值范圍不同帶來的多義性的問題。常數定義常數可以是整數、字符、浮點數、字符串、Boolean、octet 或枚舉型,不能是 any 類型或用戶定義的類型。OMG IDL數組類型IDL array 和 sequence,可以輕易地被映射到實現語言中。序列可以包含所有類型的元素,不管是基本類型還是用戶定義的類型。


OMG IDL文件概述
  從本質上講,OMG IDL接口定義語言不是作為程序設計語言體現在CORBA體系結構中的,而是用來描述產生對象調用請求的客戶對象和服務對象之間的接口的語言。OMG IDL文件描述數據類型和方法框架,而服務對象則為一個指定的對象實現提供上述數據和方法。
  OMG IDL文件描述了服務器提供的服務功能,客戶機可以根據該接口文件描述的方法向服務器提出業務請求。在大多數CORBA產品中都提供IDL到相關編程語言的編譯器。程序設計人員只需將定義的接口文件輸入編譯器,設定編譯選項后,就可以得到與程序設計語言相關的接口框架文件和輔助文件。

IDL文件應用過程如圖1所示。

圖1 OMG IDL文件編譯過程


  在語法規則方面,類似于C++或Java中關于接口或對象的定義,OMG IDL增加了一些構造方法支持IDL特有的方法調用機制。OMG IDL只是一種說明性的語言,支持C++語法中的常量、類型和方法的聲明。采用OMG IDL這樣的說明性語言,其目的在于克服特定編程語言在軟件系統集成及互操作方面的限制,這正是CORBA的誘人之處,同樣也體現出采用CORBA構造分布式應用程序在網絡時代的強大生命力。OMG IDL已經為C、C++、Java等主要高級程序設計語言制定了IDL到高級編程語言的映射標準。項目開發人員可以根據需要選擇自己最熟悉的編程語言來獨立開發基于CORBA的應用,而對軟件系統的互操作能力不產生影響。
OMG IDL的語法規則
1. OMG IDL文件舉例
  module Compute
  { typedef double radius;
  typedef long times;
  interface PI
  { double getResult( in radius aRadius, in times time); }
  }
  上述接口定義文件主要用于客戶端向服務對象提出請求:計算π值。因此,模塊中定義了一個方法getResult(),以圓的直徑(aRadius)和迭代次數(times)作為該方法的輸入參數。
2. OMG IDL詞法規則
  OMG IDL采用ASCII字符集構成接口定義的所有標識符。標識符由字母、數字和下劃線的任意組合構成,但第一個字符必須是ASCII字母。IDL認為大寫字母和小寫字母具有相同的含義,例如anExample和AnExample是相同的。
  與C++和Java類似,采用以“/*”開始,以“*/”結束來注釋一段代碼,以“//”開始注釋從“//”開始直至行尾的所有內容。
  另外,IDL保留了47個關鍵字,程序設計人員不能將關鍵字用作變量或方法名。需要注意的是關鍵字的大小寫,例如:
  typedef double context;
  //錯誤:定義的變量context是關鍵字
  typedef double CONTEXT;
  //錯誤:CONTEXT與關鍵字context沖突
3. 數據類型
  (1)基本數據類型:OMG IDL基本數據類型包括short、long和相應的無符號(unsigned)類型,表示的字長分別為16、32位。
  (2)浮點數類型:OMG IDL浮點數類型包括float、double和long double類型。其中float表示單精度浮點數,double表示雙精度浮點數,long double表示擴展的雙精度浮點數。
  (3)字符和超大字符類型:OMG IDL定義字符類型char為面向字節的碼集中編碼的單字節字符; 定義類型wchar為從任意字符集中編碼的超大字符。
  (4)邏輯類型:用boolean關鍵字定義的一個變量,取值只有true和false。
  (5)八進制類型:用octet關鍵字定義,在網絡傳輸過程中不進行高低位轉換的位元序列。
  (6)any數據類型:引入該類型用于表示OMG IDL中任意數據類型。
4. 常量
  OMG IDL用const關鍵字聲明一個常量,用于模塊(module)或接口(interface)中定義保持不變的量,如:
  const double PI = 3.1415926;
  在IDL中,可以定義long、unsigned long、unsigned short、char、boolean、float、double、string類型的常量。
5. 構造數據類型
  類似于C和C++的語法規則,OMG IDL中構造數據類型包括結構、聯合、枚舉等形式。如下例:
(1)結構類型:
  typedef long GoodsNumber;
  struct
  { GoodsNumber number;
  string name;
  float price; }
(2)聯合類型:
  union stockIn switch( short )
  { case 1: stocker : long;
  case 2: goodsName1 : string;
  case 3: goodsName2 : string; }
(3)枚舉類型:
  enum GoodsStatus { GOODS_SALED, GOODS_INSTOCK};
6. 數組類型
  OMG IDL的數組類型提供了多維定長、統一數據格式的數據存儲方式——數組。每一維的長度必須在定義時給定,所有數據單元必須存儲相同類型的元素。如下例定義一個長度為20×100的整數數組:
  typedef long aDimension[20][100];
7.模板(template)類型
  OMG IDL提供兩種類型的模板:
(1) 序列(sequence)類型:
  用該方法定義長度可變的任意數值類型的存儲序列,通常在定義時可以指定長度,也可以不指定,如:
  typedef sequence <long,80> aSequence;
  //長度定義為80
  typedef sequence <long> anotherSequence;
  //長度不定
(2) 字符串(string)序列:
  同樣對于字符串序列類型,也有兩種定義方式:
  typedef string <80> aName; //長度定義為80
  typedef string anotherName; //長度不定
8.接口(interface)
  在前幾講中,均提到了CORBA接口,接口作為服務對象功能的詳細描述,封裝了服務對象提供服務方法的全部信息,客戶對象利用該接口獲取服務對象的屬性、訪問服務對象中的方法。
  接口用關鍵字interface聲明,其中包含的屬性和方法對所有提出服務請求的客戶對象是公開的,如下例:
  interface JobManager
  { readonly attribute string FirstName;
  attribute string status;
  string QueryJobStatus( in long Number, out string property); }

posted on 2007-07-09 12:22 AlanTop 閱讀(4429) 評論(2)  編輯 收藏 引用 所屬分類: COMC++VC++

評論

# re: IDL是什么?  回復  更多評論   

hava a look
2007-07-09 13:57 | pass86

# re: IDL是什么?  回復  更多評論   

關注一下 國產社區 謝謝~~用專業的眼光 改版一下
2008-11-20 23:19 | kings xu
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            在线免费一区三区| 亚洲专区欧美专区| 欧美成人中文字幕| 亚洲精品欧美在线| 亚洲国产免费看| 欧美日韩精品免费 | 牛人盗摄一区二区三区视频| 先锋a资源在线看亚洲| 伊人蜜桃色噜噜激情综合| 亚洲国产一区二区三区a毛片| 欧美日韩另类视频| 欧美成人午夜剧场免费观看| 欧美激情一区在线观看| 午夜精品视频在线| 免费观看亚洲视频大全| 久久久久中文| 午夜免费久久久久| 欧美日韩国产小视频在线观看| 午夜一区不卡| 欧美日一区二区在线观看 | 亚洲欧美久久| 一区二区成人精品| 久久久久久久久蜜桃| 亚洲一区二区三区午夜| 欧美成年人网| 能在线观看的日韩av| 国内精品久久久久影院色| 亚洲视频福利| 午夜综合激情| 国产丝袜美腿一区二区三区| 一本久久综合亚洲鲁鲁五月天| 91久久综合亚洲鲁鲁五月天| 久久久久久一区二区| 午夜精品免费在线| 中国成人亚色综合网站| 亚洲一区二区伦理| 国产精品色午夜在线观看| 中文亚洲欧美| 久久黄金**| 亚洲国产欧美日韩精品| 久久精品国产99| 亚洲国产欧美精品| 亚洲一区二区视频在线| 国产精品拍天天在线| 久久成人国产精品| 91久久国产自产拍夜夜嗨| 99国产精品久久久久久久成人热| 欧美高清影院| 亚洲欧美日韩一区在线观看| 老妇喷水一区二区三区| 一区二区三区四区蜜桃| 国产在线国偷精品产拍免费yy| 久久久午夜电影| 99国内精品久久| 免费亚洲网站| 欧美亚洲视频在线观看| 亚洲国产日韩一区| 国产视频亚洲精品| 欧美激情一区二区久久久| 欧美伊人久久久久久久久影院| 亚洲国产欧美日韩| 久久伊人亚洲| 久久久国产成人精品| 一区二区久久| 亚洲免费不卡| 日韩视频三区| 亚洲激情另类| 国产日韩视频一区二区三区| 国产精品久久久久7777婷婷| 欧美/亚洲一区| 久久久久九九九九| 欧美一区二区精品久久911| 在线亚洲美日韩| 亚洲缚视频在线观看| 国产一区二区三区免费不卡| 国产精品免费在线 | 亚洲精品中文字幕在线| 国产一区二区三区的电影| 国产精品久久久久秋霞鲁丝| 欧美欧美午夜aⅴ在线观看| 欧美激情在线有限公司| 欧美日韩精品高清| 国产精品一二| 黑人一区二区三区四区五区| 国内外成人免费视频| 韩日欧美一区| 一本色道久久综合| 欧美一区二区私人影院日本| 久久国产精品久久精品国产| 美女国产精品| 亚洲视频综合| 免费黄网站欧美| 国产日韩精品一区二区三区| 亚洲第一精品夜夜躁人人躁| 99视频精品全部免费在线| 欧美亚洲在线| 亚洲人成在线观看网站高清| 亚洲午夜av电影| 免费欧美视频| 国产伪娘ts一区| 亚洲自拍三区| 亚洲精品国产精品久久清纯直播| 亚洲欧美三级伦理| 欧美日韩精品不卡| 在线成人中文字幕| 欧美专区在线观看| 在线一区观看| 欧美午夜精品伦理| 99视频一区| 亚洲美女av在线播放| 免费久久99精品国产自在现线| 国产精品一区二区久久久久| 中文av一区特黄| 亚洲日本一区二区三区| 欧美ed2k| 久久中文久久字幕| 亚洲成人资源| 欧美激情一区二区三区在线视频观看 | 亚洲一区二区三区精品视频| 欧美成年视频| 欧美成人免费网| 99国产精品国产精品久久 | 国产一区久久久| 久久精品在这里| 久久久久久综合网天天| 亚洲国产欧美日韩精品| 亚洲国产经典视频| 欧美性一区二区| 久久精品中文| 欧美麻豆久久久久久中文| 一区二区日韩欧美| 欧美亚洲网站| 日韩午夜在线播放| 亚洲免费一级电影| 亚洲经典三级| 亚洲欧美日韩国产一区二区三区| 国产欧美日韩视频一区二区| 蜜桃伊人久久| 国产精品美女久久久久av超清| 久久福利电影| 国产精品扒开腿做爽爽爽视频| 欧美一区二区在线视频| 欧美国产在线观看| 久久婷婷一区| 国产精品夜夜嗨| 亚洲精品乱码| 亚洲黄一区二区三区| 午夜激情综合网| 亚洲一区二区三区在线| 开元免费观看欧美电视剧网站| 一区二区欧美在线| 免费在线成人| 久久夜色精品国产亚洲aⅴ| 国产精品久久久久永久免费观看| 欧美高清视频在线观看| 尤物网精品视频| 久久综合网hezyo| 国产欧美一区二区精品性| 亚洲精选在线观看| 99re在线精品| 欧美日本国产| 99国产精品视频免费观看一公开| 日韩视频二区| 欧美日韩一级黄| 亚洲综合精品四区| 久久久久九九九| 在线日本高清免费不卡| 欧美成人高清| 亚洲精品在线免费观看视频| 夜夜嗨av一区二区三区网页| 欧美乱在线观看| 亚洲欧美日韩一区| 裸体女人亚洲精品一区| 亚洲精品美女久久久久| 欧美四级在线观看| 久久成人免费网| 亚洲人成亚洲人成在线观看图片| 99成人在线| 黑人一区二区三区四区五区| 免费看亚洲片| 午夜精品区一区二区三| 欧美成人情趣视频| 性久久久久久久久久久久| 亚洲国产aⅴ天堂久久| 国产精品久久777777毛茸茸| 久久乐国产精品| 亚洲自拍偷拍福利| 亚洲裸体视频| 亚洲成人在线网| 久久精品国产在热久久| 99在线精品视频| 亚洲国产日韩精品| 国产一区清纯| 国产一区视频观看| 国产日韩综合| 国产美女精品人人做人人爽| 欧美小视频在线观看| 欧美精品18+| 欧美日韩成人在线| 欧美日韩mv|