22.3 在 HDevEngine/C++ 中使用即时编译器

需要在 HDevEngine 类的实例中启用程序的即时编译功能:

    bool exec_compiled = true;
    ...
    HDevEngine my_engine;
    // enable or disable execution of compiled procedures
    my_engine.SetEngineAttribute("execute_procedures_jit_compiled",
                                 exec_compiled ? "true" : "false");

函数(及其引用的函数)是在创建 HDevProcedureCallHDevProgramCall 的相应实例时编译的。

您还可以分别使用 HDevProgramHDevProcedureCompileUsedProcedures 方法,显式地预编译 HDevelop 程序或函数中所有使用过的函数。

在下面的示例中,函数调用中所有使用过的函数都是实时编译的:

    HDevProgram   my_program(program_path.c_str());
    HDevProcedure proc_fib(my_program, "fib");
    ...
    proc_fib.CompileUsedProcedures();