2016-03-07 29 views
1

在JavaCard的maskgen工具,可有人告訴我什麼是maskgen工具的目的是什麼? 我從我的高級同事那裏聽說,它是將Java代碼轉換爲特定JavaCard平臺的C代碼的工具。但是答案似乎廣泛而缺乏確切的特殊性。如果上面提到的目的是正確的,那麼我的幾個問題是什麼是JavaCard的

1.它是如何轉換的Java源代碼轉換成C代碼?

2.我怎樣才能看到這個maskgen工具的源代碼?

3.如何使用maskgen工具轉換我的Java卡源代碼?

回答

2

從Java卡的3號平臺開發套件用戶指南引用:

  • 什麼ID Maskgen工具?

的maskgen工具從一組由轉換器產生的Java Card大會 文件生成一個模板文件。輸出掩碼文件的格式是針對特定平臺的 。生成每種不同maskgen輸出格式的插件稱爲生成器。支持的 發電機CREF,它支持Java卡RE和大小,這 報告大小的面膜統計。這是此版本支持不 其他發電機包括jref,它支持Java 編程語言的Java Card RE和A51,支持Keil的 A51彙編語言解釋器。 Java卡彙編語法例 提供關於Java卡 大會文件的內容的更多信息。

  • 在哪裏可以找到Maskgen工具源?

的maskgen工具不是源 版軟件包之外提供或使用的,所以[...]如果你沒有,你會maskgen的 開發套件工具的源代碼發佈。如果你有一個源 版本中,您可以本地化與 maskgen工具相關的特定語言環境的數據,請參見Localizing With The Development Kit.

  • 如何使用Maskgen工具將Java卡的來源?

檢查Running Maskgen甲骨文頁:

maskgen例

此示例使用一個文本文件(參數。TXT)來傳遞命令行 參數maskgen:

maskgen -o mask.c cref @args.txt

其中文件args.txt的內容是:

first.jca second.jca third.jca

這相當於命令行:

maskgen -o mask.c cref first.jca second.jca third.jca

該命令生成一個輸出文件mask.c,該文件使用C 編譯器編譯生成mask.o,該代碼與Java Card RE 解釋程序鏈接。有關此目標平臺的更多信息,請參閱Using the Reference Implementation以獲取更多 信息。

上面的「.JCA」(Java Card Assembly)文件是使用Converter工具生成的。 Here is its manual

here一些相關的報價信息:

maskgen實際上產生一個mask.c文件,其中包含VM字節碼 了由JCVM解釋和執行的小程序。 mask.c文件應該加載到卡上。此方法僅用於靜態使用JavaCard的 。

而且

Maskgen取CAP文件(這是由轉換器產生的),和 生成mask.c文件,該文件將是在靜態 卡CREF的一部分。您可以在maskgen.cfg文件中設置您的MCU /處理器 的存儲器配置參數。

無論如何,你需要一個二進制發佈JCDK的擁有這個工具,和它的來源。

+0

Maskran工具是否有責任生成包令牌編號和方法偏移? –