Go to the first, previous, next, last section, table of contents.

### `initialize_static_variable`

`static 変数の初期化の問題点. 初期化の時に segmentation fault がおきる.`

- static 変数の取扱. 下の例を参照のこと.

    if (1) {
     module abc;
     static A;
     A=1;
     endmodule;
    } else { };

    end$
    を t.rr とするとき,

    [6] load("./t.rr");
    1
    internal error (SEGV)
    となる.

    t.rr を
    if (1) {
     module abc;
     static A;
     localf initA;
     localf foo;
     def initA() {
       A=1;
     }
     initA();
     def foo() {
       return A;
     }
     endmodule;
    } else { };

    end$
    とすると正しく初期化される.

ChangeLog

- oxasir-win.rr の取扱で問題点として浮上. 2005.07.25.
- oxasir-win.rr の取扱で double quote の取り扱いに問題があったが, これは asir2000/io/ox_asir.c, 1.58, で問題点解決.
- ox_asir に計算を依頼する時は if (1) { ... }で囲む.

Go to the first, previous, next, last section, table of contents.