Function group is loaded into runtime memory by the FIRST call of a function module inside this function group.
See example below:
I have a global variable defined in function group in X3C/504:
Before I call any of the function module in this function group, this global variable is not available - this make senses because the whole function group is NOT loaded into memory.
When the first function module is called, the function group is loaded into memory - global variable available:
I insert one entry to this table:
Now function1 execution is finished, when I entry function module2, this global variable is still available, because the lifetime scope of function group is application level - which means it will always stay in the memory until the application terminates.
概括成一句话:function module里定义的局部变量,作用域是function module scope,即module执行完变量就失效,但定义在function group级别的全局变量,生命周期是整个应用,即应用不关闭之前,一直有效。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":