在JavaCard中,有人可以告诉我maskgen工具的用途是什么? 我从高级同事那里听到的是,它是将Java代码转换为特定JavaCard平台的C代码的工具。但答案似乎是广泛的,缺乏确切的特殊性。如果上述目的是正确的,那么我的几个问题就是
1。它如何将java源代码转换为C代码?
2。如何查看此maskgen工具的源代码?
3。如何使用maskgen工具转换我的Java卡源代码?
答案 0 :(得分:2)
引自Java Card 3平台开发工具包用户指南:
maskgen工具从一组Java Card Assembly生成一个掩码文件 转换器生成的文件。输出掩码文件的格式是 针对特定平台。产生每个插件的插件 不同的maskgen输出格式称为生成器。支持 生成器是cref,它支持Java Card RE和大小 报告掩码的大小统计信息。其他发电机不是 此版本支持包括支持Java的jref 编程语言Java Card RE和a51,它支持Keil A51汇编语言解释器。 Java Card程序集语法示例 提供有关Java卡内容的其他信息 装配文件。
maskgen工具不可用或在源外使用 发布捆绑,所以如果你没有源代码发布 开发套件你会有maskgen工具。如果你有一个来源 发布时,您可以本地化与之关联的特定于语言环境的数据 maskgen工具,请参阅Localizing With The Development Kit.
检查Running Maskgen oracle页面:
maskgen示例
此示例使用文本文件(args.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
此命令生成一个使用C编译的输出文件mask.c 编译器生成mask.o,它与Java Card RE链接 翻译。有关详细信息,请参阅Using the Reference Implementation 有关此目标平台的信息。
上面的“.JCA”(Java Card Assembly)文件是使用Converter工具生成的。 Here is its manual 的
来自here的一些相关引用信息:
maskgen实际上会生成一个包含VM字节码的
mask.c
文件 由JCVM解释并执行applet。该 应将mask.c
文件加载到卡上。仅使用此方法 静态使用JavaCard。
和
Maskgen获取CAP文件(由转换器生成),和 生成一个
mask.c
文件,该文件将成为静态的cref的一部分 牌。 MCU /处理器的内存配置参数 可以在maskgen.cfg文件中设置。
无论如何,您需要一个二进制版本的JCDK才能拥有此工具及其来源。