grobal.h マニュアル
(The documentation of grobal.h)
Last Update: 2024/1/5
grobal.hではymaeda_opentoolsで共通にグローバル変数が宣言されている。
各グローバル変数の定義を以下に示す。
Grobal variables commnly used by ymaeda_opentools
are declared in grobal.h.
Definitions of individual grobal variables are shown below.
◆目次(Table of contents)
型(Type):
char
変数名(Variable name):
msgCallingFile[nMsgRoute][strsize]
初期値(Initial value):
初期値無し。
No initial value.
マクロ_OPENMPが定義されている場合、
このグローバル変数にはthreadprivate指示文が付加される。
In cases where a macro _OPENMP is defined,
a threadprivate directive is applied to this grobal variable.
メッセージ出力経路の構成要素である
「関数呼び出し元のファイル名」
を保存する配列。
メッセージ出力経路とは例えば
- program.cの10行目(関数main)から
sub1.h内の関数function1が呼ばれた
- sub1.hの20行目(関数function1)から
sub2.h内の関数function2が呼ばれた
- sub2.hの30行目(関数function2)から
sub3.h内の関数function3が呼ばれた
- sub3.hの40行目(関数function3)からエラーメッセージが出力された
というような情報のことである。
エラーメッセージの表示時にこうした情報を合わせて出力することで
エラー箇所の特定が容易になる。
そのためにはメッセージの出力経路を保存しておく必要があり、
それらの情報のうちファイル名を保存しておくのがこのグローバル変数である。
上の例であれば
msgCallingFile[0]="program.c"
msgCallingFile[1]="sub1.h"
msgCallingFile[2]="sub2.h"
のように保存される。
An array to preserve
“the name of a file from which each function was called”,
which is a constituent of message output routes.
The message output routes are, for example, the information as below:
- from line 10 of program.c (in function main),
a function function1 in sub1.h was called;
- from line 20 of sub1.h (in function function1),
a function function2 in sub2.h was called;
- from line 30 of sub2.h (in function function2),
a function function3 in sub3.h was called; and finally
- from line 40 of sub3.h (in function function3),
an error message was displayed.
This kind of information facilitates identification of actual errors
that caused the error message.
To realize outputting this kind of information,
the message output routes must be stored;
information of the file names are stored in this grobal variable.
In case of the example above, the information are stored as below:
msgCallingFile[0]="program.c";
msgCallingFile[1]="sub1.h"; and
msgCallingFile[2]="sub2.h".
型(Type):
char
変数名(Variable name):
msgCallingFunc[nMsgRoute][strsize]
初期値(Initial value):
初期値無し。
No initial value.
マクロ_OPENMPが定義されている場合、
このグローバル変数にはthreadprivate指示文が付加される。
In cases where a macro _OPENMP is defined,
a threadprivate directive is applied to this grobal variable.
メッセージ出力経路の構成要素である
「関数呼び出し元の関数名」
を保存する配列。
メッセージ出力経路についてはグローバル変数msgCallingFileの説明参照。
その説明中の例であれば
msgCallingFunc[0]="main"
msgCallingFunc[1]="function1"
msgCallingFunc[2]="function2"
となる。
An array to preserve
“the name of a parent function
from which each child function was called”,
which is a constituent of message output routes;
see the description of grobal variable msgCallingFile
for the message output route.
In case of the example in that description,
the information are stored as below:
msgCallingFunc[0]="main";
msgCallingFunc[1]="function1"; and
msgCallingFunc[2]="function2".
型(Type):
int
変数名(Variable name):
msgCallingLine[nMsgRoute]
初期値(Initial value):
初期値無し。
No initial value.
マクロ_OPENMPが定義されている場合、
このグローバル変数にはthreadprivate指示文が付加される。
In cases where a macro _OPENMP is defined,
a threadprivate directive is applied to this grobal variable.
メッセージ出力経路の構成要素である
「関数呼び出し元のファイルにおける呼び出し箇所の行番号」
を保存する配列。
メッセージ出力経路についてはグローバル変数msgCallingFileの説明参照。
その説明中の例であれば
msgCallingLine[0]=10
msgCallingLine[1]=20
msgCallingLine[2]=30
となる。
An array to preserve
“the line number in the file of the parent function
from which each child function was called”,
which is a constituent of message output route;
see the description of grobal variable msgCallingFile
for the message output route.
In case of the example in that description,
the information are stored as below:
msgCallingLine[0]=10;
msgCallingLine[1]=20; and
msgCallingLine[2]=30.
型(Type):
int
変数名(Variable name):
reserved_msgRoute_number
初期値(Initial value):
0
マクロ_OPENMPが定義されている場合、
このグローバル変数にはthreadprivate指示文が付加される。
In cases where a macro _OPENMP is defined,
a threadprivate directive is applied to this grobal variable.
有効なメッセージ出力経路(グローバル変数msgCallingFileの説明参照)の個数。
関数main内では0、mainから直接呼ばれている関数内では1、
それらの関数から呼ばれている関数内では2、というように変化する。
すなわち、関数から子関数が呼ばれると1だけ増加し、
関数内での処理を終えて親関数に戻ると1だけ減少する。
グローバル変数msgCallingFile, msgCallingFunc, msgCallingLine
はいずれも固定長配列であり、
その中の何番目の要素までが有効なものであるかを知るためにこの変数が用いられる。
The number of message output routes which are currently in effect;
see the description of grobal variable msgCallingFile
for the message output route.
This number varies from 0 in function main
to 1 in functions that are directly called from main;
when another function is called from these functions,
the value changes to 2.
In other words, the number increases by 1
when a child function is called from a function,
and decreases by 1 when processings in a function terminates
and returns to its parent function.
This number is used to identify
the effective range of array components
in grobal variables
msgCallingFile, msgCallingFunc, msgCallingLine
that are arrays of a fixed length.
型(Type):
_Bool
変数名(Variable name):
message_JP
初期値(Initial value):
- マクロENGLISH_MODEが未定義の場合:
If macro ENGLISH_MODE is undefined:
true
- マクロENGLISH_MODEが定義されている場合:
If macro ENGLISH_MODE is defined:
false
メッセージの出力言語。
trueであれば日本語で、falseであれば英語でメッセージが出力される。
The language for messages,
which is Japanese if the value of this variable is true,
English if false.