国产精品久久久久久2021,日韩精品无码av中文无码版,亚洲精品久久久午夜麻豆,无码成人精品日本动漫纯h

010-68421378
當(dāng)前您所在的位置:首頁>新聞中心>新品發(fā)布

ASN1C ASN.1 編譯器 :將ASN.1和/或XML schema (XSD)源規(guī)范轉(zhuǎn)換成C、C++、C#或Java源代碼

發(fā)布時(shí)間:2021/05/12 瀏覽量:4221
ASN1C ASN.1編譯器將ASN.1和/或XML schema (XSD)源規(guī)范轉(zhuǎn)換成C、C++、C#或Java源代碼

ASN1C ASN.1 編譯器

 

圖片

ASN1C ASN.1 編譯器

ASN1C ASN.1編譯器將ASN.1/XML schema (XSD)源規(guī)范轉(zhuǎn)換成CC++C#Java源代碼。開發(fā)人員可以使用此代碼將結(jié)構(gòu)/對(duì)象轉(zhuǎn)換為已完成的ASN.1消息,并使用任何ITU-T/ISO編碼規(guī)則(BER、CER、DER、PERXER),以及ISO/IEEE醫(yī)療設(shè)備編碼規(guī)則(MDER)NTCIP八隅體編碼規(guī)則(OER)將其轉(zhuǎn)換為或轉(zhuǎn)換為已完成的ASN.1消息。ASN1C還包括將XSD規(guī)范轉(zhuǎn)換為ASN.1規(guī)范的工具,反之亦然。

 

圖片

 

生成的ASN1C代碼由類型定義和編碼/解碼函數(shù)(或方法)組成,這些函數(shù)提供了一個(gè)完整的應(yīng)用程序編程接口(API),用于處理ASN.1規(guī)范中包含的消息定義。

除了ASN.1編譯器之外,程序包中還包含一個(gè)公共編碼/解碼函數(shù)的運(yùn)行時(shí)庫。此庫包含用于編碼和解碼ASN.1基元(布爾值、整數(shù)等)的例程。ASN1C ASN.1編譯器匯編對(duì)這些函數(shù)的一系列調(diào)用,以完成對(duì)更復(fù)雜消息類型的編碼或解碼。

程序員要使編碼器/解碼器啟動(dòng)并運(yùn)行所需要做的就是:

1. 運(yùn)行ASN1C為給定的ASN.1XSD規(guī)格生成代碼
2. 開發(fā)一個(gè)應(yīng)用程序來調(diào)用生成代碼中的函數(shù)/方法
3. 編譯/連接應(yīng)用程序、生成的代碼和運(yùn)行時(shí)庫

為了幫助處理第2和第3項(xiàng),編譯器還能夠生成示例閱讀器和編寫器程序,以及生成文件構(gòu)建所有生成的代碼。

 

ASN.1 to C/C++

CC++版本都使用由一組低級(jí)基本C函數(shù)組成的公共基本運(yùn)行時(shí)庫,對(duì)基本類型進(jìn)行編碼和解碼。代碼生成主要在C語言中完成,并為所有定義的ASN.1類型提供了一套完整的C API函數(shù)。

C++代碼生成功能添加了一組類包裝器,用于隱藏調(diào)用編碼/解碼函數(shù)時(shí)的大部分細(xì)節(jié)。這些包裝器提供了特定于C++的附加服務(wù)。其中包括通過構(gòu)造函數(shù)自動(dòng)初始化生成類型的變量,通過操作符重載更容易地分配和測試數(shù)據(jù),以及通過事件處理機(jī)制的虛擬回調(diào)接口。

 

ASN.1JavaC#

生成的Java代碼由一系列Java源文件組成——一個(gè)用于ASN.1規(guī)格中定義的每個(gè)產(chǎn)品(類型)。每個(gè)Java文件(至少)包含以下項(xiàng)目:

  • 一個(gè)或多個(gè)公共成員數(shù)據(jù)變量,用于保存生成類型的數(shù)據(jù)。

  • 初始化變量的構(gòu)造函數(shù)。

  • 一種編碼方法。

  • 一個(gè)解碼方法。

  • 將目標(biāo)內(nèi)容打印到給定輸出流的打印方法。

還有一個(gè)用于Java的運(yùn)行時(shí)庫。它由一系列用于編碼和解碼ASN.1基本類型的類組成。例如,Asn1Integer類將對(duì)ASN.1 INTEGER類型的變量進(jìn)行編碼或解碼。編譯器將擴(kuò)展這些基類,以形成直接從基類型派生的更高級(jí)別的類型,或者組裝一系列這些較低級(jí)別的對(duì)象來形成構(gòu)造的類型(例如,序列)

C#代碼的生成與上面描述的Java生成非常相似。為ASN.1規(guī)范中定義的每個(gè)產(chǎn)品生成一個(gè)單獨(dú)的C#類。它包含使用任何ASN.1編碼規(guī)則對(duì)類實(shí)例進(jìn)行編碼和解碼的構(gòu)造函數(shù)和方法。

可以使用JavaC#嵌入式開發(fā)工具包來支持Java MicroEdition (J2ME)C# compact edition庫。

下一篇:Wowza管理界面響應(yīng)非常慢,怎么回事?
上一篇:如何使用Splashtop遠(yuǎn)程訪問虛幻引擎?

                               

 京ICP備09015132號(hào)-996 | 違法和不良信息舉報(bào)電話:4006561155

                                   © Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號(hào)豪柏大廈C2座11層1105室

                         北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動(dòng)畫

                            華滋生物