Programming Language Runtime

Introduction

This subsystem provides the compilation and execution environment for programs developed with JavaScript, and C/C++, basic libraries that support the runtime, and the runtime-associated APIs, compilers, and auxiliary tools. Modules in this subsystem are classified based on the currently supported programming languages: JavaScript, and C/C++. Each module can be compiled independently and can be combined and separated based on development scenarios.

Figure 1 Subsystem architecture

This subsystem consists of the runtime, libraries, and compilers that support the running of JavaScript, and C/C++ programs, and provides the basic libraries, API , JavaScript engine capability, and a toolchain that supports language compilation.

Directory Structure

/prebuilts/mingw-w64/ohos/linux-x86_64     # cross-compilation toolchain for Linux platform
    └── clang-mingw
        ├── bin
        ├── lib
        ├── libexec
        ├── NOTICE
        ├── share
        └── x86_64-w64-mingw32

Constraints

  1. You are not allowed to add or modify the APIs without permission.
  2. The implementation of the JavaScript engine is restricted by the subsystem. There is no configuration item for external systems.

Usage

Basic language capabilities are supported through library files. Some capabilities are integrated into Native, and JavaScript SDKs and integrated into DevEco Studio releases. For details about the usage, see the readme file of each module.

The following list shows the repositories of third-party software and precompilation toolchains that are referenced.

/third_party/boost

/third_party/quickjs

/third_party/jerryscript

/third_party/mingw-w64

Repositories Involved

Programming language runtime subsystem