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

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

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

發(fā)布時間:2021/05/12 瀏覽量:4204
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)/對象轉(zhuǎn)換為已完成的ASN.1消息,并使用任何ITU-T/ISO編碼規(guī)則(BER、CER、DERPERXER),以及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ù)提供了一個完整的應(yīng)用程序編程接口(API),用于處理ASN.1規(guī)范中包含的消息定義。

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

程序員要使編碼器/解碼器啟動并運行所需要做的就是:

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

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

 

ASN.1 to C/C++

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

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

 

ASN.1JavaC#

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

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

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

  • 一種編碼方法。

  • 一個解碼方法。

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

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

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

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

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

                               

 京ICP備09015132號-996 | 違法和不良信息舉報電話:4006561155

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

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

                            華滋生物