https://github.com/Himself65/OpenArkCompiler
这三个 bin 是干啥的?
jbc2mpl maple mplcg
OpenArkCompiler git:(master) tree out
out
├── args.gn
├── bin
│ ├── java2jar
│ ├── jbc2mpl
│ ├── maple
│ └── mplcg
├── build.ninja
├── build.ninja.d
├── lib
│ ├── 64
│ │ ├── libHWSecureC.a
│ │ ├── libmpl2mpl.a
│ │ ├── libmplipa.a
│ │ ├── libmplir.a
│ │ ├── libmplme.a
│ │ └── libz_maple_host.a
│ └── libmplmewpo.a
├── obj
│ ├── ABS_PATH
│ │ └── home
│ │ └── 我大华为的科学技术世界第一
│ │ └── OpenArkCompiler
│ │ └── src
│ │ ├── huawei_secure_c
│ │ │ └── libHWSecureC.ninja
│ │ ├── mapleall.stamp
│ │ ├── maple_driver
│ │ │ └── maple.ninja
│ │ ├── maple_ipa
│ │ │ └── libmplipa.ninja
│ │ ├── maple_ir
│ │ │ └── libmplir.ninja
│ │ ├── maple_me
│ │ │ ├── libmplme.ninja
│ │ │ └── libmplmewpo.ninja
│ │ ├── mpl2mpl
│ │ │ └── libmpl2mpl.ninja
│ │ └── third_party
│ │ └── zlib-1.2.11
│ │ └── libz_maple_host.ninja
│ ├── maple.stamp
│ └── src
│ ├── huawei_secure_c
│ │ └── src
│ │ ├── libHWSecureC.fscanf_s.o
│ │ ├── libHWSecureC.fwscanf_s.o
│ │ ├── libHWSecureC.gets_s.o
│ │ ├── libHWSecureC.memcpy_s.o
│ │ ├── libHWSecureC.memmove_s.o
│ │ ├── libHWSecureC.memset_s.o
│ │ ├── libHWSecureC.scanf_s.o
│ │ ├── libHWSecureC.securecutil.o
│ │ ├── libHWSecureC.secureinput_a.o
│ │ ├── libHWSecureC.secureinput_w.o
│ │ ├── libHWSecureC.secureprintoutput_a.o
│ │ ├── libHWSecureC.secureprintoutput_w.o
│ │ ├── libHWSecureC.snprintf_s.o
│ │ ├── libHWSecureC.sprintf_s.o
│ │ ├── libHWSecureC.sscanf_s.o
│ │ ├── libHWSecureC.strcat_s.o
│ │ ├── libHWSecureC.strcpy_s.o
│ │ ├── libHWSecureC.strncat_s.o
│ │ ├── libHWSecureC.strncpy_s.o
│ │ ├── libHWSecureC.strtok_s.o
│ │ ├── libHWSecureC.swprintf_s.o
│ │ ├── libHWSecureC.swscanf_s.o
│ │ ├── libHWSecureC.vfscanf_s.o
│ │ ├── libHWSecureC.vfwscanf_s.o
│ │ ├── libHWSecureC.vscanf_s.o
│ │ ├── libHWSecureC.vsnprintf_s.o
│ │ ├── libHWSecureC.vsprintf_s.o
│ │ ├── libHWSecureC.vsscanf_s.o
│ │ ├── libHWSecureC.vswprintf_s.o
│ │ ├── libHWSecureC.vswscanf_s.o
│ │ ├── libHWSecureC.vwscanf_s.o
│ │ ├── libHWSecureC.wcscat_s.o
│ │ ├── libHWSecureC.wcscpy_s.o
│ │ ├── libHWSecureC.wcsncat_s.o
│ │ ├── libHWSecureC.wcsncpy_s.o
│ │ ├── libHWSecureC.wcstok_s.o
│ │ ├── libHWSecureC.wmemcpy_s.o
│ │ ├── libHWSecureC.wmemmove_s.o
│ │ └── libHWSecureC.wscanf_s.o
│ ├── maple_driver
│ │ └── src
│ │ ├── maple.compiler_factory.o
│ │ ├── maple.compiler.o
│ │ ├── maple.compiler_selector.o
│ │ ├── maple.driver_runner.o
│ │ ├── maple.file_utils.o
│ │ ├── maple.jbc2mpl_compiler.o
│ │ ├── maple.maple_comb_compiler.o
│ │ ├── maple.maple.o
│ │ ├── maple.mplcg_compiler.o
│ │ └── maple.mpl_options.o
│ ├── maple_ipa
│ │ └── src
│ │ ├── libmplipa.interleaved_manager.o
│ │ └── libmplipa.module_phase_manager.o
│ ├── maple_ir
│ │ └── src
│ │ ├── libmplir.bin_mpl_export.o
│ │ ├── libmplir.bin_mpl_import.o
│ │ ├── libmplir.global_tables.o
│ │ ├── libmplir.intrinsics.o
│ │ ├── libmplir.lexer.o
│ │ ├── libmplir.mir_builder.o
│ │ ├── libmplir.mir_const.o
│ │ ├── libmplir.mir_function.o
│ │ ├── libmplir.mir_lower.o
│ │ ├── libmplir.mir_module.o
│ │ ├── libmplir.mir_nodes.o
│ │ ├── libmplir.mir_parser.o
│ │ ├── libmplir.mir_pragma.o
│ │ ├── libmplir.mir_symbol.o
│ │ ├── libmplir.mir_type.o
│ │ ├── libmplir.opcode_info.o
│ │ ├── libmplir.option.o
│ │ ├── libmplir.parser.o
│ │ └── libmplir.printing.o
│ ├── maple_me
│ │ └── src
│ │ ├── libmplme.me_alias_class.o
│ │ ├── libmplme.me_bb_layout.o
│ │ ├── libmplme.me_cfg.o
│ │ ├── libmplme.me_dominance.o
│ │ ├── libmplme.me_emit.o
│ │ ├── libmplme.me_function.o
│ │ ├── libmplme.me_irmap.o
│ │ ├── libmplme.me_option.o
│ │ ├── libmplme.me_phase_manager.o
│ │ ├── libmplme.me_rc_lowering.o
│ │ ├── libmplme.me_ssa.o
│ │ ├── libmplme.me_ssa_tab.o
│ │ ├── libmplme.me_ssa_update.o
│ │ ├── libmplmewpo.alias_analysis_table.o
│ │ ├── libmplmewpo.alias_class.o
│ │ ├── libmplmewpo.bb.o
│ │ ├── libmplmewpo.dominance.o
│ │ ├── libmplmewpo.func_emit.o
│ │ ├── libmplmewpo.irmap_emit.o
│ │ ├── libmplmewpo.irmap.o
│ │ ├── libmplmewpo.me_ir.o
│ │ ├── libmplmewpo.orig_symbol.o
│ │ ├── libmplmewpo.ssa_mir_nodes.o
│ │ ├── libmplmewpo.ssa.o
│ │ ├── libmplmewpo.ssa_tab.o
│ │ └── libmplmewpo.ver_symbol.o
│ ├── mpl2mpl
│ │ └── src
│ │ ├── libmpl2mpl.class_hierarchy.o
│ │ ├── libmpl2mpl.class_init.o
│ │ ├── libmpl2mpl.gen_check_cast.o
│ │ ├── libmpl2mpl.java_eh_lower.o
│ │ ├── libmpl2mpl.java_intrn_lowering.o
│ │ ├── libmpl2mpl.muid_replacement.o
│ │ ├── libmpl2mpl.native_stub_func.o
│ │ ├── libmpl2mpl.reflection_analysis.o
│ │ ├── libmpl2mpl.vtable_analysis.o
│ │ └── libmpl2mpl.vtable_impl.o
│ └── third_party
│ └── zlib-1.2.11
│ ├── libz_maple_host.adler32.o
│ ├── libz_maple_host.compress.o
│ ├── libz_maple_host.crc32.o
│ ├── libz_maple_host.deflate.o
│ ├── libz_maple_host.gzclose.o
│ ├── libz_maple_host.gzlib.o
│ ├── libz_maple_host.gzread.o
│ ├── libz_maple_host.gzwrite.o
│ ├── libz_maple_host.infback.o
│ ├── libz_maple_host.inffast.o
│ ├── libz_maple_host.inflate.o
│ ├── libz_maple_host.inftrees.o
│ ├── libz_maple_host.trees.o
│ ├── libz_maple_host.uncompr.o
│ └── libz_maple_host.zutil.o
└── toolchain.ninja
32 directories, 146 files
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.